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