Java 再次显示虚拟按钮后隐藏它们
我发现,我可以通过以下方式隐藏android手机的虚拟按钮: this.getWindow().getDecorView().setSystemMivibility(视图、系统、用户界面、标志、隐藏、导航) 但一旦用户通过从边缘滑动使它们可见,它们就会保持可见 过一会儿我怎么能再把它们藏起来 提前谢谢 编辑: 我开始一项新的活动。 启动此新活动时,我在onCreate方法中调用此函数以隐藏actionbar和虚拟按钮: this.requestWindowFeature(Window.FEATURE\u NO\u TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏) this.getWindow().getDecorView().setSystemMivibility(视图、系统、用户界面、标志、隐藏、导航) 编辑: 这就是你所做的: 这也是你想要做的:Java 再次显示虚拟按钮后隐藏它们,java,android,user-interface,Java,Android,User Interface,我发现,我可以通过以下方式隐藏android手机的虚拟按钮: this.getWindow().getDecorView().setSystemMivibility(视图、系统、用户界面、标志、隐藏、导航) 但一旦用户通过从边缘滑动使它们可见,它们就会保持可见 过一会儿我怎么能再把它们藏起来 提前谢谢 编辑: 我开始一项新的活动。 启动此新活动时,我在onCreate方法中调用此函数以隐藏actionbar和虚拟按钮: this.requestWindowFeature(Window.FEATU
所以,基本上,当你隐藏一个项目时,你需要监听(检查)它是否被更改(打开/关闭),然后从那里重新启用它。我会复制/粘贴代码,但它位于这些链接中。请提供有关您代码的更多信息。编辑我的评论,希望这是足够的信息。该功能仅在Android 4.1或更高版本上可用。感谢anwser,但我有最后一个问题:我注册了侦听器,当我滑动虚拟按钮时,他会被呼叫,但是按钮不会再隐藏了@重写系统可访问性更改(int可见性){if((可见性和视图.系统UI标志\全屏)==0){getWindow().getDecorView().设置系统可访问性(视图.系统UI标志\隐藏导航\视图.系统UI标志\全屏);为了更好的可视性,将其写在顶部。是否为对象创建了侦听器?是的,我为控制台生成了Log.d输出,因此我知道该方法已被调用
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN);
} else {
}
}