我使用SYSTEM_UI_FLAG_FULLSCREEN
隐藏status bar
,代码如下(sdk> 16):
Decorview decorview = getWindow().getDecorview();
decorview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
但是,它可以在某些Android手机上运行但在其他方面失败,如下所示:
白色酒吧有什么问题?为什么不隐藏?
ps:风格还可以,只是正常风格,没有fitwindowsystem
,没有沉浸感。
答案 0 :(得分:0)
如Android Docs中所述,您可以在SDK<中隐藏statusBar
这样的内容。 16即Android版低于Jellybean:
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
在您致电onCreate
之前,在setContentView
方法中调用此方法。
对于16以上的SDK,请使用以下代码:
View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
// Remember that you should never show the action bar if the
// status bar is hidden, so hide that too if necessary.
ActionBar actionBar = getActionBar();
actionBar.hide();
答案 1 :(得分:0)
1.如果Android版本低于Jellybean,请使用此调用隐藏。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT < 16) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
setContentView(R.layout.activity_main);
}
2.编码隐藏状态栏16和更高代码。
Decorview decorview = getWindow().getDecorview();
decorview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
注意:请记住,如果隐藏状态栏,则不应显示操作栏,因此如有必要,请隐藏该操作栏。
ActionBar actionBar = getActionBar();
actionBar.hide();
3.如果状态栏应始终隐藏在您的应用中,请在应用的清单文件中设置活动主题。
<application
...
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
...
</application>