如何在android中永久隐藏状态栏?

时间:2014-09-09 11:28:24

标签: java android hide statusbar

如何在android中隐藏status bar(手机图标,电池图标,网络图标等)?

4 个答案:

答案 0 :(得分:3)

将此代码写在setContentView(R.id.activity_main)之上,它会起作用。

requestWindowFeature(Window.FEATURE_NO_TITLE);     
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

答案 1 :(得分:1)

// Hide status bar
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Show status bar
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

Documentation for System-UI Status

隐藏Android 4.1及更高版本上的状态栏:

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();

答案 2 :(得分:1)

在您的清单中,您可以添加android:theme="@android:style/Theme.NoTitleBar"

在您的活动中,您可以添加getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

希望这有助于您找到解决方案。

答案 3 :(得分:1)

您还可以更改Android Manifest中的主题以隐藏状态栏,这样您就不必在每项活动中调用代码。

<application
    ...
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    ...
</application>

如果您不使用Holo,则可能需要稍微更改一下。

或者,您可以在每个活动中调用此代码 -

适用于4.0及更低版本

setContentView(R.layout.activity_main);行之前的onCreate方法中添加此内容。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

适用于4.1及更高版本

View decorView = getWindow().getDecorView();
// Hide the status bar.
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);