更新的问题:(2016年11月16日)HTML中的内容会使WebView停止返回" canScrollXXX" / computeXXXXRange / computeXXXXScrollOffset / computeXXXXScrollExtent的有效值并停止构建在缩放控件显示。
我的要求
我在ViewPager中有一个WebView。我希望WebView能够左右滚动,直到它符合HTML的边缘,然后ViewPager才能接管。
我的问题
关于这个问题,关于SO已经有几个问题了。他们都使用
"computeHorizontalScrollOffset"
但是这总是为我返回0。
此外,以下内容也始终返回0.
final int range = computeHorizontalScrollRange() - computeHorizontalScrollExtent();
有谁知道为什么" computeHorizontalScrollOffset"总是返回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的有效值并停止构建在缩放控件显示。