用于webview的Android zoomcontrols无效。每个视图寻呼机片段膨胀

时间:2013-12-01 02:47:18

标签: android webview android-viewpager fragment pinchzoom

我的应用程序有一个加载页面查看器的活动。每个页面视图都在膨胀一个新片段。每个片段内部都是一个webview。

我一直关注Stack上的所有内容,谷歌试图解决这个问题。

在我的onCreateView中我正在使用此代码:

    WebSettings wb = mWebview.getSettings();
    wb.setSupportZoom(true);
    wb.getBuiltInZoomControls();
    wb.setDisplayZoomControls(true);
    wb.setJavaScriptEnabled(true);
    mWebview.setWebChromeClient(new mWebChromeClient());
    mWebview.setWebViewClient(new mWebViewClient());
    mWebview.loadUrl(url);

当我删除它并简单地使用它时,这些都不起作用         mWebview.getSettings()setDefaultZoom(WebSettings.ZoomDensity.FAR)。 setDefaultzoom实际上是缩放,但不是缩放和缩放。

我的xml布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:orientation="vertical">

        <WebView
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        </WebView>
</RelativeLayout>
总的来说一切都很好,除了我讨厌无法捏合和缩放。

2 个答案:

答案 0 :(得分:1)

最后!谢谢大家!

Blogger.com (我猜其他网站也是如此)为用户禁用了视口。
在博主中有HTML代码阻止我的网站缩放。

b:如果cond ='data:blog.isMobile'&gt; meta content ='width = device-width,initial-scale = 1.0,minimum-scale = 1.0,maximum-scale = 1.0'name ='viewport'/&gt;

通过将maximum-scale = 1.0更改为maximum-scale = 2.0 ,我终于看到了zoomcontrols。

另外,这是我的zoomControls代码

    this.mWebView.setWebChromeClient(new mWebChromeClient());
    this.mWebView.setWebViewClient(new mWebViewClient());
    this.mWebView.loadUrl(url);
    this.mWebView.getSettings().setJavaScriptEnabled(true);
    this.mWebView.getSettings().setSupportZoom(true);
    this.mWebView.getSettings().setBuiltInZoomControls(true);

答案 1 :(得分:0)

我认为你需要调用setBuiltInZoomControls()

http://developer.android.com/reference/android/webkit/WebSettings.html#setBuiltInZoomControls(boolean)

WebSettings webSettings = mWebview.getSettings();
// Enable pinch to zoom without the zoom buttons
webSettings.setBuiltInZoomControls(true);

if(Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
    // Hide the zoom controls for HONEYCOMB+
    webSettings.setDisplayZoomControls(false);
}