限制webview缩放和隐藏zoombar(2.3)

本文介绍如何使用Java实现WebView组件,并详细配置其属性以支持JavaScript、缩放、焦点等功能。同时,展示如何加载指定HTML页面并设置响应的元信息,确保页面在不同设备上的适配性和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java代码:

webView = (WebView) this.findViewById(R.id.webView);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setSupportZoom(true);// 支持缩放
settings.setBuiltInZoomControls(true);// 设置支持缩放
settings.setNeedInitialFocus(true);// 当webview调用requestFocus时为webview设置节点
settings.setUseWideViewPort(true);// 设置图片调整到适合webview大小
settings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
setZoomControlGone(webView);
// webView.setInitialScale(60);//初始大小状态
webView.setHorizontalScrollBarEnabled(false);// 设置是否显示水平滚动条
webView.setVerticalScrollBarEnabled(false);// 设置是否显示垂直滚动条
webView.addJavascriptInterface(new JSInterface(), "scenery");
webView.loadUrl("file:///android_asset/index.html");

/** 设置隐藏缩放按钮  4.0之后使其失效,暂时没有找到在4.0以上隐藏zoombar的解决办法 */
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();
}
}



html代码:


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" name="viewport" content="width=device-width,initial-scale=0.4, minimum-scale = 0.4 ,
          maximum-scale = 1.0 , user-scalable=yes" />
<title>标题</title>
<link rel="stylesheet" type="text/css" href="style.css" />

</head>
<script type="text/javascript" src="js/jquery-1.6.js"></script>
<body>.......</body>



content="width=device-width,initial-scale=0.4, minimum-scale = 0.4 ,
          maximum-scale = 1.0 , user-scalable=yes"
width=device-width//html界面的宽度是Android设备屏幕的宽度
initial-scale=0.4//html界面的初始大小  是原图的xx倍
minimum-scale = 0.4//html界面的最小值  是原图的xx倍
maximum-scale = 1.0 //html界面的最大值  是原图的xx倍
user-scalable=yes//是否支持缩放


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值