Android WebView缩放

支持缩放及自适应屏幕

//支持javascript

web.getSettings().setJavaScriptEnabled(true); 

// 设置可以支持缩放 

web.getSettings().setSupportZoom(true); 

// 设置出现缩放工具 

web.getSettings().setBuiltInZoomControls(true);

//扩大比例的缩放

web.getSettings().setUseWideViewPort(true);

//自适应屏幕

web.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

web.getSettings().setLoadWithOverviewMode(true);

 

 

问题描述:Android下的WebView可以加载并显示本地或者网上的网页,并提供手势放大缩小功能,本来该功能实现起来很容易,但在我们更换了不同厂商的硬件平板电脑以后,ROM由Android4.0变成了Android4.1,放大功能出现了异常,通过手势放大网页以后,自动缩小回了原来的尺寸,无法保持放大状态。如何解决这个问题呢?

先看看我们之前所写的代码

1) 添加权限:AndroidManifest.xml中必须使用了许可"android.permission.INTERNET"

2) 使用了一个WebView组件

<WebView

android:id="@+id/wv"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   android:text="@string/hello"

    />

3) 设置WebView基本信息:

    wvCon= (WebView) layout.findViewById(R.id.wv);

WebSettingsws = wvCon.getSettings();

ws.setSupportZoom(true);

      ws.setBuiltInZoomControls(true);

4)设置WevView要显示的网页:

   互联网用:webView.loadUrl("http://www.jiankeyan.com");

   本地文件用:webView.loadUrl("file://android_asset/XX.html"); 

我们的解决方法是:

//无限缩放

webView.getSettings().setUseWideViewPort(true);设置此属性,可任意比例缩放。

注:1、初始缩放值可这样设置:webView.setInitialScale(initalValue);

    2、缩放后,要使内容适配屏幕,不超出屏幕外显示,实现换行。这方面效果应该由html控制,而不是webview控制。例如<p style="word-break:break-all">test</p>实现自动换行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值