方式一:

WebSettings mWebSettings = webView.getSettings(); mWebSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

LayoutAlgorithm是一个枚举用来控制页面的布局,其有三个类型:

1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度
2.NORMAL:正常显示不做任何渲染
3.SINGLE_COLUMN:把所有内容放大webview等宽的一列中

用SINGLE_COLUMN类型可以设置页面居中显示,页面可以放大缩小,但这种方法有缺陷,有时候会让你的页面布局扭曲(不推荐使用)。


方式二:

//设置载入页面自适应手机屏幕,居中显示 WebSettings mWebSettings = webView.getSettings(); mWebSettings.setUseWideViewPort(true); mWebSettings.setLoadWithOverviewMode(true); 

setUseWideViewPort是设置webview推荐使用的窗口,设置为true。
setLoadWithOverviewMode是设置webview加载的页面的模式,也设置为true。


这方法可以让你的页面适应手机屏幕的分辨率,完整的显示在屏幕上,可以放大缩小(推荐使用)。



WebView缩放问题:


1、webview支持页面缩放
//缩放开关
webView.getSettings().setSupportZoom(true);
设置此属性,仅支持双击缩放,不支持触摸缩放(android4.0)


// 设置是否可缩放
webView.getSettings().setBuiltInZoomControls(true);
如果设置了此属性,那么webView.getSettings().setSupportZoom(true);也默认设置为true


2、无限缩放
无限缩放,就需要使用大视图模式,如下:
webView.getSettings().setUseWideViewPort(true);设置此属性,可任意比例缩放。
注:1、初始缩放值可这样设置:webView.setInitialScale(initalValue);
2、缩放后,要使内容适配屏幕,不超出屏幕外显示,实现换行。这方面效果应该由html控制。
如<p style="word-break:break-all">test</p>实现自动换行

public class ResultActivity extends TitleActivity{    private WebView mWebView;    private WebSettings mWebSettings;    /* (non-Javadoc)     * @see app.ui.TitleActivity#onCreate(android.os.Bundle)     */    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setUpViews();    }    private void setUpViews()    {        setContentView(R.layout.activity_result);        showBackwardView(R.string.button_backward, true);        mWebView = (WebView)findViewById(R.id.webview);        mWebSettings = mWebView.getSettings();        mWebSettings.setJavaScriptEnabled(true);    //允许加载javascript        //mWebSettings.setSupportZoom(true);          //允许缩放        //mWebSettings.setBuiltInZoomControls(true);        //mWebSettings.setUseWideViewPort(true);      //任意比例缩放        mWebSettings.setUseWideViewPort(true);      //设置加载进来的页面自适应手机屏幕(可缩放)        mWebSettings.setLoadWithOverviewMode(true);        mWebView.setWebViewClient(new WebViewClient(){            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                view.loadUrl(url);                return super.shouldOverrideUrlLoading(view, url);            }        });    }}

更多相关文章

  1. 安全新手入坑——HTML标签
  2. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  3. 解决移动端Web安卓机点击输入框,输入法遮挡输入框的问题
  4. Android(安卓)-- 自定义 View XML属性详解
  5. activity打开时不自动弹出软键盘
  6. facebook继续关注android移动阵营,悄然发布‘Facebook页面信使’
  7. 几个Android常见wraning警告处理方法
  8. React native WebView 适配Android(安卓)和 Ios的问题
  9. Android(安卓)之 WebView的使用介绍

随机推荐

  1. Android(安卓)中使用SOAP协议
  2. Android中EventBus原理及用法详情
  3. android文本内容自动朗读实例教程
  4. Android在未来的发展
  5. Android内核开发:理解和掌握repo工具(含被
  6. Android(安卓)UI 之困境:统一还是分化
  7. 使用android中drawline函数无法绘制水平
  8. Android坐标系分析
  9. 3.4 管理项目 - 创建Android库
  10. Android扫车牌号识别技术SDK