Android WebView下隐藏缩放条(适用于3.0以下)

来源:互联网 发布:幸福狐狸 传销 知乎 编辑:程序博客网 时间:2024/05/21 17:19

本文参考自:

http://www.dewen.org/q/1883


最近在搞一个项目用到WebView,需要将右下角的放大缩小条屏蔽,查了很多办法都不行,有个方法叫 SetDisplayZoomControls,但是只有API Level 11才能用,即3.0以上可以直接调用该方法,但是现在大多数项目都基于2.2,So,我试过改写WebView的onTouchEvent,但效果不明显,无意中看到一篇文章的一段代码,结果一试,居然成了!

高兴之余,不敢独享,于是将该段代码共享于此,希望能帮到有需要的人:


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();        }    }

此方法在Activity中调用,其中的形参view是指WebView,原理是利用了Java的反射机制


本文参考自:

http://www.dewen.org/q/1883

原创粉丝点击