700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android 隐藏手机虚拟按键

Android 隐藏手机虚拟按键

时间:2023-01-03 17:29:48

相关推荐

Android   隐藏手机虚拟按键

Android部分机型没有物理按键,只有虚拟按键,Activity全屏方法如下:

1、在这句

setContentView(R.layout.activity_main);

之前添加

这句话可以隐藏虚拟键,但是当点击屏幕后就会重新显示出来

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

2、当用户划出虚拟按键后,自动再隐藏方法如下:

这句话则不会

getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {@Overridepublic void onSystemUiVisibilityChange(int visibility) {int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |//布局位于状态栏下方View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |//全屏View.SYSTEM_UI_FLAG_FULLSCREEN |//隐藏导航栏View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;if (Build.VERSION.SDK_INT >= 19) {uiOptions |= 0x00001000;} else {uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;}getWindow().getDecorView().setSystemUiVisibility(uiOptions);}});

3、dialog 隐藏方法

mDialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);mDialog.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {@Overridepublic void onSystemUiVisibilityChange(int visibility) {int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |//布局位于状态栏下方View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |//全屏View.SYSTEM_UI_FLAG_FULLSCREEN |//隐藏导航栏View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;if (Build.VERSION.SDK_INT >= 19) {uiOptions |= 0x00001000;} else {uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;}mDialog.getWindow().getDecorView().setSystemUiVisibility(uiOptions);}});

要在mDialog.show();之前。

我用上面的方法解决了这一问题.有个地方注意下:

在3、dialog 隐藏方法 里原作者使用的全屏设置,效果是弹出dialog时原来的页面会变为全屏,我不需要该功能,所以把

View.SYSTEM_UI_FLAG_FULLSCREEN |

这一句给去了就可以了.

记录下这个问题.

————————————————

版权声明:本文为CSDN博主「geekqian」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:/geekqian/article/details/54972609

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。