1.  所遇到的问题

webview加载指定网页无法实现自适应,之前在加载重构一个网页的时候,其实也遇到这种问题,然后就有了下面的一下步骤

WebSettings webSettings = view.getSettings();  
webSettings.setJavaScriptEnabled(true);  
  
// settings          
  
webSettings.setJavaScriptEnabled(true);  
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);  
webSettings.setUseWideViewPort(true);//关键点  
  
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);  
      
webSettings.setDisplayZoomControls(false);  
webSettings.setJavaScriptEnabled(true); // 设置支持javascript脚本  
webSettings.setAllowFileAccess(true); // 允许访问文件  
webSettings.setBuiltInZoomControls(true); // 设置显示缩放按钮  
webSettings.setSupportZoom(true); // 支持缩放  
webSettings.setLoadWithOverviewMode(true);  

如上设置后,即可实现自动缩放了

其中关键是以下设置属性

webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);

这样的话如果你的PC网页里面没有设置 meta标签 viewport的缩放设置也没有关系。

然后这次在加载视频播放网页的时候却不起作用了!!!

解决方法

发现漏了一行代码。

/**  
 * 用WebView显示图片,可使用这个参数 设置网页布局类型: 1、LayoutAlgorithm.NARROW_COLUMNS :  
 * 适应内容大小 2、LayoutAlgorithm.SINGLE_COLUMN:适应屏幕,内容将自动缩放  
 */  
webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);