public void setHideVirtualKey(Window window){
//保持布局状态
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;
}
window.getDecorView().setSystemUiVisibility(uiOptions);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
navView = findViewById(R.id.nav_view);
setHideVirtualKey(this.getWindow());
Window window =this.getWindow();
this.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
setHideVirtualKey(window);
}
});
}
该代码片段展示了如何在Android应用中实现全屏显示并隐藏虚拟按键。通过设置View的系统UI标志,实现了在状态栏下方布局、全屏显示以及隐藏导航栏的效果。在系统UI隐藏状态改变时,会重新调用隐藏虚拟键的方法,确保始终全屏无导航栏。

996

被折叠的 条评论
为什么被折叠?



