白屏webview进入imageview

时间:2012-12-13 22:54:43

标签: android

我的目标是在imageView中显示一些带有图像的html。所以我创建了一个webview,我在位图中转换了这个webview,然后用bitmap设置了这个imageview,但是我有一个白色的屏幕。我检查过位图不是空的。

你知道为什么我有白屏吗?也许有更好的方法可以做到这一点......?

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 Administration Cookbook

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

1 个答案:

答案 0 :(得分:0)

我正在使用我在这里给你的答案Refresh activity/ImageView?测试你的申请。没有空白屏幕(显示Hbase管理书)。 您是否在清单文件中拥有网络权限:

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

你的自定义Html代码也搞砸了。你应该看一下html字符串 那就是你的问题所在。