我有一个简单的布局,只有一个webview。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/webview" />
</RelativeLayout>
我需要从本地资源将数据加载到webview中。 我是这样做的:
String str = "100% valid html with doctype and other things";
view.loadDataWithBaseURL(null, str, "text/html", "utf-8", null);
但有时它并没有填满整个宽度。您知道,将数据加载到webview时会有滑入效果。因此,在加载时有时会滑动到屏幕的某些部分(通常是半部分)并且不会滑动得更远,因此内容不会填满整个宽度。 Bug正在许多设备上复制(屏幕截图来自Sony Xperia S,也在一些三星Galaxy S2上稳定复制)。
启用硬件加速功能无济于事。
那么,为什么会出现这个错误呢?以及如何解决?
答案 0 :(得分:3)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>
答案 1 :(得分:2)
您需要将viewport元数据定义到本地html。为移动设备开发html需要更仔细的考虑。
尝试阅读this page。
答案 2 :(得分:-1)
您可以尝试将RelativeLayout
更改为LinearLayout
。
我遇到了像你这样的问题,我通过改变来解决问题。