本文参考自:
最近在搞一个项目用到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的反射机制
本文参考自: