① Android兩個控制項疊在一起,如何讓被擋住的控制項顯示出來
設置屬性gone或者invisible前者不佔位置後者佔位置
② 如何隱藏Android WebView 縮放控制項
每個版本隱藏縮放控制項的方法如下:
在Android3.0之後實現非常簡單,加一句代碼就可以了,如下代碼:
//不顯示webview縮放按鈕
settings.setDisplayZoomControls(false);12
其實到這里本文就應該到此為止了,但有的同學問,你這個只兼容到3.0以上版本,我要是兼容到2.x版本呢?我想說的是,其實沒有必須再兼容到2.x版本了,2.x的用戶量很少了,4.x以上的用戶已經佔到94%以上了,下面看AndroidStudio統計的各個平台版本的用戶使用比率:
所以說,我們沒有必要兼容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();
}
}