我正在使用以下代码缩放我的webview以使内容适合屏幕的宽度:
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
这有效,但现在我在内容的底部得到一个空白区域.空白空间的大小(高度)与其正在进行的缩放的大小成正比.因此对于较小的设备,尺寸更大.
我的感觉是在缩放生效后没有重新计算滚动条大小.这个假设是由于当通过点击屏幕放大和缩小时,空的空间消失了.虽然这适用于Android 2.3但不适用于4.0.
我的问题是如何在缩放后强制滚动条重新计算.还是有其他解决方案.
谢谢.
附:以下是我在xml中定义webview的方法
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF" >
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/web_view"
android:background="#AAFFFFFF"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
解决方法:
为什么首先在scrollview中的linearlayout中有webview? WebView继承自scrollView并实现了它自己的滚动,那么另一个scrollview是什么?基本上你会在一个卷轴内有一个卷轴!!!其次,我确实看到你的WebView’android:layout_height属性有“wrap_content”.