android webview怎么禁止缩放

 我来答
鈾氶瓏鈾
2016-11-17 · 知道合伙人软件行家
鈾氶瓏鈾
知道合伙人软件行家
采纳数:718 获赞数:1336

向TA提问 私信TA
展开全部
要支持缩放,肯定要先支持JavaScript,加如下代码:
//支持JS
WebSettings settings = mWebView.getSettings();
settings.setJavaScriptEnabled(true);123123

重点来了,要想支持缩放,要加如下代码支持
//支持屏幕缩放
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);

我们怎样去掉它呢,在Android3.0之后实现非常简单,加一句代码就可以了,如下代码:
//不显示webview缩放按钮
settings.setDisplayZoomControls(false);

所以说,我们没有必要兼容2.x了,就像iOS开发只兼容到IOS7版本就OK了,但是有的同学又说,我有强迫症,我就想兼容到2.x版本,其实解决方案网上都有了,这里用到了Java反射的知识,通过反射来获取私有的属性控件mZoomButtonsController,然后就其setVisibility(View.GONE)隐藏就可以了,下面贴出代码实现:
public void setZoomControlGone(View view){
Class classType;
Field field;
try {
classType = WebView.class;
field = classType.getDeclaredField("mZoomButtonsController");
field.setAccessible(true);
ZoomButtonsController mZoomButtonsController = new ZoomButtonsController(view);
mZoomButtonsController.getZoomControls().setVisibility(View.GONE);
try {
field.set(view, mZoomButtonsController);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式