`
cloklo
  • 浏览: 27953 次
  • 性别: Icon_minigender_1
  • 来自: 襄阳
社区版块
存档分类
最新评论

WebView 隐藏缩放按钮

阅读更多
//隐藏webview的缩放按钮 适用于3.0和以后
	public void setZoomControlGoneX(WebSettings view ,Object[] args){
		 Class classType = view.getClass();
		 try { 
		     Class[] argsClass = new Class[args.length];  
		   
		     for (int i = 0, j = args.length; i < j; i++) {  
		         argsClass[i] = args[i].getClass();  
		     }
		     Method[] ms= classType.getMethods();
		     for (int i = 0; i < ms.length; i++) {
		    	 if(ms[i].getName().equals("setDisplayZoomControls")){
		    		 try {
		    			 ms[i].invoke(view, false);
						} catch (Exception e) {
							e.printStackTrace();
						}
		    		 break;
		    	 }
				//Log.e("test", ">>"+ms[i].getName());
			}

		}catch (Exception e) {
			e.printStackTrace();
		}
		 
	}
	
	
	//隐藏webview的缩放按钮 适用于3.0以前
	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();  
	    }  
	}  

调用:
                weView.loadUrl("file:///android_asset/help.html");
		int sysVersion = Integer.parseInt(VERSION.SDK);
		if(sysVersion>=11){
			setZoomControlGoneX(weView.getSettings(),new Object[]{false});
		}else{
			setZoomControlGone(weView);
		}

 

分享到:
评论

相关推荐

    隐藏WebView的缩放按钮

    在Android API层面,没有直接暴露用于隐藏缩放按钮的方法。因此,我们需要利用Java的反射机制来访问那些未公开但实际存在的成员变量或方法。反射是一种强大的工具,让我们可以在运行时检查和修改对象的行为。 以下...

    android WebView设置setBuiltInZoomControls(true)同时隐藏缩放按钮

    WebView设置setBuiltInZoomControls(true)后,隐藏缩放按钮的控件在webView的源码里是通过: private ZoomButtonsController mZoomButtonsController; 这个私有控件控制的,而且也没有public方法可以获得此...

    android webView.pptx

    6. **隐藏缩放控件** 如果不希望显示缩放控件,可以通过以下代码隐藏它: ```java settings.setDisplayZoomControls(false); ``` 7. **设置初始缩放比例** 可以为WebView设置一个初始的缩放比例: ```java ...

    android的webview代码

    // 隐藏缩放控件 ``` 9. **处理回退操作**: 当用户点击后退按钮时,如果WebView还有历史记录,应先处理WebView的回退,而不是直接退出应用: ```java @Override public boolean onKeyDown(int keyCode, ...

    使用WebView实现浏览器功能

    最后,为了提高用户体验,我们还可以添加一些额外的功能,比如启用JavaScript执行、禁用WebView的缩放功能、处理点击链接时是否在内部打开等。这可以通过调用WebView的相关方法实现: ```java // 启用JavaScript ...

    android webview实用demo

    1. 启用Webview的JavaScript支持和缩放功能。 2. 当页面开始加载时,显示进度条;加载完成时,隐藏进度条。 3. 使用自定义的Toolbar,设置标题和关闭按钮。 4. 监听关闭按钮点击事件,关闭Activity。 至此,一个...

    安卓Android源码——BTWebViewSelection(webview选择文字).zip

    3. **WebSettings的配置**:确保`WebView`的`WebSettings`允许文本选择,例如,设置`WebSettings.setBuiltInZoomControls(true)`开启缩放,`WebSettings.setDisplayZoomControls(false)`关闭内置缩放控件,`...

    Android中WebView常见问题及解决方案汇总

    // 可选,隐藏缩放控件 ``` 8. 安全性增强: 对于加载HTTPS链接,确保WebView支持SSL证书验证。可以自定义`WebViewClient`的`onReceivedSslError()`方法来处理证书错误: ```java webView.setWebViewClient(new ...

    解决WebView通过URL加载H5界面出现空白的问题

    // 隐藏缩放控件 ``` 3. **HTML5本地存储问题**: 当H5页面使用localStorage或Web Storage时,如果WebView未开启相应的支持,可能导致错误。为启用HTML5本地存储,需要进行以下设置: ```java webSettings....

    webViewDemo

    9. **网页缩放**:`WebView`支持缩放操作,可以通过`getSettings().setBuiltInZoomControls(true)`启用内置的缩放控件,`getSettings().setDisplayZoomControls(false)`隐藏默认的缩放按钮。 10. **处理点击链接**...

    Android 带进度条的WebView 示例代码

    通过自定义控件和Activity,我们可以轻松地在应用中集成这一功能,并且可以根据实际需求进行扩展,例如添加错误处理、添加前进后退按钮、设置网页缩放等。对于任何需要在Android应用中展示网页内容的开发者来说,这...

    Android WebView 常见问题及处理方案

    可以通过`showErrorPage()`方法显示自定义的错误提示页面,隐藏原有的WebView并添加一个包含重试按钮的布局。通过`hideErrorPage()`方法,可以在页面重新加载成功时恢复正常的WebView显示。 2. **管理WebView的...

    安卓浏览器app

    在Android平台上,开发... 可以使用WebViewSettings类来调整WebView的行为,比如设置是否可以缩放(setBuiltInZoomControls(true)),是否隐藏原生的缩放控件(setDisplayZoomControls(false))以及是否允许加载图片...

    SlidingMenu侧滑

    同时,为了增强用户体验,可能还需要实现一些额外的功能,比如设置网页缩放、处理网页内的点击事件,或者实现前进、后退按钮等。 结合SlidingMenu和WebView,我们可以创建一个功能丰富的应用。例如,将SlidingMenu...

    UIWebView控件的简易浏览器小案例

    为了提高用户体验,还可以添加前进、后退、刷新和停止加载等功能按钮,以及对网页内容进行缩放的支持。 需要注意的是,由于Apple在iOS 8之后推荐使用WKWebView替代UIWebView,因为WKWebView提供了更好的性能和安全...

    Android应用源码带进度条简易浏览器项目.zip

    10. **定制化**:开发者可能会对`WebView`进行一些定制,例如禁用JavaScript,设置自定义的User-Agent,或者启用网页缩放。 11. **错误处理**:良好的错误处理机制是必要的,例如网络错误、URL无效等情况,应该有...

    UIWebView的使用代码

    UIWebView可以缩放HTML页面来适配其视口大小,从而达到整屏显示内容的效果,并且用户可以用捏合动作来放大或缩小页面来查看内容。 调用javascript代码 UIWebView提供 ? 1 - (NSString *)...

    Android实现有道辞典查询功能实例详解

    - 还可以设置`WebView`的行为,比如禁用JavaScript,或者启用网页缩放功能,这可以通过Java代码实现,如`mWebView1.getSettings().setJavaScriptEnabled(false)`。 6. **安全与优化** - 为了防止跨站脚本攻击(XSS...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    安卓上用于加载的Webview视图窗口只是作为类浏览器而存在,在安卓上更是只能同时运行一个Webview。(2)跨域数据交互问题。不同的Webview之间无法共享数据。(3)页面自适应问题。页面难以兼容适应不同分辨率的设备...

    swift-仿微信带有浮窗能力的微信浏览器

    实现这一功能需要自定义视图,通过手势控制或用户交互来显示、隐藏、移动和缩放浮窗。这涉及到对`UIView`的深入理解和使用,以及手势识别器(如`UIPanGestureRecognizer`和`UIPinchGestureRecognizer`)的集成。 3....

Global site tag (gtag.js) - Google Analytics