您的位置:首页 > 移动开发 > Android开发

Android隐藏虚拟菜单(虚拟按钮导航栏)

2017-10-14 11:27 1516 查看
方法一:方法参考自http://blog.csdn.net/tian_di_yi_jian/article/details/62425096,方法如下:

/**
* 隐藏虚拟按键,并且全屏
*/
public static void hideBottomUIMenu(Activity activity) {
//隐藏虚拟按键,并且全屏
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = activity.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = activity.getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}

方法二:通过反射找到setSystemUiVisibility方法,设置隐藏虚拟菜单

private static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION =
// 1 | 2 | 4 | 0x200 | 0x400 | 0x00000100;
0x00000100
| 0x00000200
| 0x00000400
| 0x00000002 // hide nav bar
| 0x00000004 // hide status bar
| 0x00001000;

private void hidSysNavigation() {
if (Build.VERSION.SDK_INT > 10) {
try {
View v = getWindow().getDecorView();
Method m = View.
4000
class.getMethod("setSystemUiVisibility", int.class);
m.invoke(v, new Object[]{SYSTEM_UI_FLAG_HIDE_NAVIGATION});
//v.setSystemUiVisibility(SYSTEM_UI_FLAG_HIDE_NAVIGATION);
} catch (Throwable e) {
e.printStackTrace();
}
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_full_screen);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
hidSysNavigation();

initView();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: