0

私の目標は、imageView に画像を含む html を表示することです。だから私はウェブビューを作成し、このウェブビューをビットマップに変換し、このイメージビューをビットマップで設定しましたが、白い画面があります。ビットマップが null でないことを確認しました。

白い画面が表示される理由を知っていますか?それを行うためのより良い方法があるかもしれません..?

ImageViewActivity.java

public class ImageViewActivity extends Activity {

private WebView webView;
ImageView imageView;
 Bitmap bmp;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_view);

    webView = (WebView) findViewById(R.id.webView1);
    imageView = (ImageView) findViewById(R.id.imageView1);

    webView.getSettings().setJavaScriptEnabled(true);
    String customHtml = "<div style=\"background-image:url(pic_10.jpg);height:100%;background-repeat:no-repeat;\"><div style=\"position: absolute; bottom: 0; width: 100%\">

HBase 管理クックブック

www.amazon.com

";

     webView.loadDataWithBaseURL("file:///android_asset/", customHtml ,
     "text/html", "utf-8", null);

     webView.setWillNotCacheDrawing(false);
     webView.destroyDrawingCache();
     webView.setDrawingCacheEnabled(true);
     webView.measure(MeasureSpec.makeMeasureSpec(480,
     MeasureSpec.EXACTLY),
     MeasureSpec.makeMeasureSpec(800, MeasureSpec.EXACTLY));
     webView.layout(0, 0, webView.getMeasuredWidth(),
     webView.getMeasuredHeight());
     webView.buildDrawingCache(true);
     bmp = Bitmap.createBitmap(webView.getDrawingCache());
     webView.destroyDrawingCache();     
     imageView.setImageBitmap(bmp);


}

}

activity_image_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />
 <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="#ABABAB"
    android:visibility="gone"
/>
</LinearLayout>

文字列 html を更新する

4

1 に答える 1

0

私はここであなたに与えた答えであなたのアプリケーションをテストしていますRefresh activity/ImageView? . 空白の画面はありません (Hbase 管理ブックが表示されます)。マニフェスト ファイルにネットワーク アクセス許可がありますか。

<uses-permission android:name="android.permission.INTERNET"/>

また、カスタム Html コードもめちゃくちゃです。html 文字列を確認する必要があります。
それがあなたの問題です。

于 2012-12-17T05:56:53.053 に答える