目前我正在使用低调模式隐藏顶部黑条并使底部导航条变暗。我想在Android上使用Immersive模式,但我遇到了操作栏的问题。我想做Immersive模式粘性但保持操作栏应该在哪里。有没有办法做到这一点?
这是我到目前为止所做的工作,除了隐藏动作栏之外它还有效。
@TargetApi(19)
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
if (android.os.Build.VERSION.SDK_INT >= 19) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_FULLSCREEN |
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
}
任何建议都会很精彩。谢谢。
答案 0 :(得分:16)
我刚刚在我的nexus 7(Android 4.4.2)上尝试过此代码并且工作正常
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
if (hasFocus) {
decorView
.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
}
答案 1 :(得分:0)
您可以在onResume事件中添加此关闭。
@Override
public void onResume() {
super.onResume();
getWindow().getDecorView().setSystemUiVisibility(
View.GONE);
}