关于手机虚拟按键的坑
首先吐槽一下虚拟按键,这个真的是没有卵用,个人觉得体验效果也差,不知道为什么华为会坚持使用。最近公司项目需用用到视频监控,在做视频播放全屏切换时,华为等有虚拟按键的手机,卡得我欲仙欲死。
这里给个监听虚拟按键状态的链接,请看华为(HuaWei)虚拟按键的判断和监听。
/**
* 显示虚拟按键
*/
protected void showBottomUIMenu(){
//显示虚拟按键
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.VISIBLE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.STATUS_BAR_VISIBLE;
decorView.setSystemUiVisibility(uiOptions);
}
}
/**
* 隐藏虚拟按键,并且全屏
*/
protected void hideBottomUIMenu() {
//隐藏虚拟按键,并且全屏
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
}
这里也是简单记录一下坑点,防止以后入坑又是各种抓脑袋。
特别声明:这种方法也仅仅是勉强解决了我项目中的问题,并没有完美监听到虚拟按键的显示或隐藏,更好的暂时并没有找到,如果各位有的话,请告诉我,蟹蟹~~