【问题标题】:Android WebView zoom out after page is loaded加载页面后Android WebView缩小
【发布时间】:2012-02-02 10:36:02
【问题描述】:

我有一个使用以下代码初始化的 WebView:

_webView.setWebViewClient(new WebViewClient() {
   @Override
   public void onPageFinished(WebView view, String url) {
       while (view.zoomOut());
    }
_webView.loadURL("path/to/image.png");

但这不起作用。 WebView 在加载时缩小。但是当它完成时,它会放大。

页面加载后(我使用WebView显示图像)是否有其他方法可以完全缩小?

【问题讨论】:

    标签: android url webview load zooming


    【解决方案1】:

    试试这段代码:

    public class WebViewSampleActivity extends Activity 
    {
         WebView wb;
        private class HelloWebViewClient extends WebViewClient 
        {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) 
            {
                return false;
            }
        }
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);      
            wb=(WebView)findViewById(R.id.webView1);        
            wb.getSettings().setJavaScriptEnabled(true);
            wb.getSettings().setLoadWithOverviewMode(true);
            wb.getSettings().setUseWideViewPort(true);
            wb.getSettings().setBuiltInZoomControls(true);
            wb.getSettings().setPluginState(WebSettings.PluginState.ON);
            wb.getSettings().setPluginsEnabled(true);           
            wb.setWebViewClient(new HelloWebViewClient());
            wb.loadUrl("http://www.foofoo.com");        
        }
    }
    

    希望这会有所帮助。

    【讨论】:

    • 谢谢,wb.getSettings().setLoadWithOverviewMode(true); 帮我解决了问题:D
    • 不客气。确实如此,但您可能还希望将wb.getSettings().setUseWideViewPort(true) 与它一起包含以获得更好的结果。无论如何,我已经在我的代码中包含了所有必要的设置。不希望它在某个地方失败。 :) 顺便说一句,感谢您接受答案 :)
    • 我已经使用了.setUseWideViewPort(true)。现在还有以下:.setDefaultZoom(ZoomDensity.FAR); .setBuiltInZoomControls(true); .setLoadWithOverviewMode(true); 这些应该为我的目的提供最好的结果。再次感谢 =)
    • 如果我希望加载的页面适合屏幕宽度,但之后,如果用户想放大内容,它太小而看不清楚。我们如何释放 Webview 来做到这一点?
    【解决方案2】:

    不要在onPageFinished() 中做任何事情,而是使用webview.getSettings().setDefaultZoom(WebviewSetting.ZoomDensity.FAR);

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      这是加载图像时最重要的两个命令:

      webView.getSettings().setLoadWithOverviewMode(true);
      webView.getSettings().setUseWideViewPort(true);
      

      【讨论】:

        猜你喜欢
        • 2018-08-19
        • 1970-01-01
        • 1970-01-01
        • 2014-04-16
        • 2015-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多