Android WebView computeHorizo​​ntalScrollOffset始终为0,并且内置缩放控件不显示

时间:2016-11-15 15:10:25

标签: android scroll webview

更新的问题:(2016年11月16日)HTML中的内容会使WebView停止返回" canScrollXXX" / computeXXXXRange / computeXXXXScrollOffset / computeXXXXScrollExtent的有效值并停止构建在缩放控件显示。

我的要求

我在ViewPager中有一个WebView。我希望WebView能够左右滚动,直到它符合HTML的边缘,然后ViewPager才能接管。

我的问题

关于这个问题,关于SO已经有几个问题了。他们都使用

"computeHorizontalScrollOffset" 

但是这总是为我返回0。

此外,以下内容也始终返回0.

final int range = computeHorizontalScrollRange() - computeHorizontalScrollExtent();

有谁知道为什么" computeHorizo​​ntalScrollOffset"总是返回0?

我也注意到内置的变焦控制没有显示,即使我也告诉过它们。

现有研究

我已经看过的SO问题如下(其中包括)

我的代码

这是我的WebView布局。我尝试过FrameLayout和LinearLayout,没有区别。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</FrameLayout >

在我的ViewPager页面的片段中,我按如下方式实例化WebView

    webView = v.findViewById(R.id.webView);
    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setBuiltInZoomControls(true);
    webSettings.setDomStorageEnabled(true);
    webView.setWebChromeClient(...);
    webView.setWebViewClient(...);

更新(2016年11月16日)

我实际上已将其缩小到由WebView的内容引起的。

如果我在WebView中使用不同的URL,我会看到内置的缩放控件,并且在移动视图时我会看到&#34; canScrollXXX&#34;现在返回true并且computeXXXXRange / computeXXXXScrollOffset / computeXXXXScrollExtent看起来都具有正确的值,并且偏移甚至根据我在视图中的位置而改变。使用我想要的HTML内容,这些方法不会返回有效值,内置的缩放控件永远不可见。

因此,我需要能够确定HTML中的 将使WebView停止返回&#34; canScrollXXX&#34; / computeXXXXRange / computeXXXXScrollOffset / computeXXXXScrollExtent的有效值并停止构建在缩放控件显示。

0 个答案:

没有答案