12

如何隐藏特定活动的状态栏?

我发现了这个类似的问题,但没有一个答案对我有用。每次我尝试去活动时,应用程序都会崩溃: 如何在 Android 中隐藏状态栏

谢谢。

4

5 回答 5

23

在设置内容之前在您的活动中尝试此操作

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
于 2015-11-14T06:20:43.240 回答
4

在 Android 4.0 及更低版本上隐藏状态栏

  1. 通过在 manifest.xml 文件中设置应用程序的主题。

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

    或者

  2. 通过在活动的 onCreate() 方法中编写 JAVA 代码。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // If the Android version is lower than Jellybean, use this call to hide
        // the status bar.
        if (Build.VERSION.SDK_INT < 16) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
        setContentView(R.layout.activity_main);
    }
    

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

通过在 Activity 的 onCreate() 方法中编写 JAVA 代码。

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();
于 2015-11-15T11:00:34.993 回答
1
if (Build.VERSION.SDK_INT < 16)//before Jelly Bean Versions
{ 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                         WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
else // Jelly Bean and up
{ 
    View decorView = getWindow().getDecorView();
    // Hide the status bar.
    int ui = View.SYSTEM_UI_FLAG_FULLSCREEN;
    decorView.setSystemUiVisibility(ui);

    //Hide actionbar
    ActionBar actionBar = getActionBar();
    actionBar.hide();
}
于 2016-08-02T06:19:31.310 回答
0

唯一有效的答案(至少对我来说)

在styles.xml

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        ...
    </style>
</resources>

在 4.4.2 Kitkat 中,代码内解决方案对我不起作用。

于 2019-04-25T17:06:14.617 回答
-1

打开 styles.xml 并更新您的活动使用的样式:

<style name="ExampleTheme" parent="android:Theme.Light">
    <item name="android:windowNoTitle">true</item> <!-- add this line -->
</style>
于 2018-05-17T11:42:23.100 回答