Android Webview初始缩小

hivapdat  于 2023-06-04  发布在  Android
关注(0)|答案(7)|浏览(133)

我在我的Android应用程序中使用Webview,在应用程序启动时,网站被放大了很多,我希望它被缩小到适合屏幕的宽度。我目前在我的活动中有:

super.onCreate(savedInstanceState);
    setContentView(R.layout.shop);
    WebView webview;
    webview = (WebView) findViewById(R.id.webview);
    webview.setWebViewClient(new WebViewClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.example.com");
wsxa1bj1

wsxa1bj11#

webview.getSettings().setLoadWithOverviewMode(true);

这将导致web视图最初被缩小。

webview.getSettings().setUseWideViewPort(true);

Webview将有一个普通的视口(如桌面浏览器),当false时,Webview将有一个视口约束到它自己的尺寸。

编辑:由于Android KitKat中引入了“Chrome web view”,此代码可能无法正常工作。

qfe3c7zg

qfe3c7zg2#

这样可以缩小内容(在我的例子中是SVG),使其适合屏幕,但不会产生不必要的空间。

webView.getSettings().setUseWideViewPort(true);
webView.setInitialScale(1);
sg3maiej

sg3maiej3#

试试这个:

webView.setInitialScale(50);
    webPlanSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
    webPlanSettings.setUseWideViewPort(true);
cgyqldqp

cgyqldqp4#

//This the the enabling of the zoom controls 
    webView.getSettings().setBuiltInZoomControls(true);

    //This will zoom out the WebView
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.setInitialScale(1);
uz75evzq

uz75evzq5#

对于Kit Kat和更高版本的设备,您需要在WebView加载的HTML页面的标题中设置viewport meta标签,以防止默认的放大行为。

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
t98cgbkg

t98cgbkg6#

使用webSettings类设置缩放级别...

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
au9on6nz

au9on6nz7#

设置WebView设置,如:

webView.settings.run {
    builtInZoomControls = true
    //hide +- zoom buttons
    displayZoomControls = false 
    //zooms out the content to fit on screen by width
    loadWithOverviewMode = true 
    //when page contains the viewport meta tag
    useWideViewPort = true 
}

但考虑到上面的缩放设置,仅适用于WebView首次运行。
如果你想在WebView中每次加载一个URL时都完全缩小(我遇到过这种情况),可以像这样使用zoomBy

webView.loadUrl(url)
webView.zoomBy(0.02f)

相关问题