我的目标是在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
答案 0 :(得分:0)
我正在使用我在这里给你的答案Refresh activity/ImageView?测试你的申请。没有空白屏幕(显示Hbase管理书)。 您是否在清单文件中拥有网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
你的自定义Html代码也搞砸了。你应该看一下html字符串
那就是你的问题所在。