我正在使用以下代码缩放我的 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 中的线性布局中有一个 Web View ?一个WebView继承了scrollView并实现了自己的滚动,那么另一个scrollview是做什么用的呢?本质上,您将在滚动条中有一个滚动条!!!其次,我确实看到您的 WebView 的 android:layout_height
属性有 "wrap_content"
。
关于Android Webview - 缩放到设备宽度后底部空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086738/