How to hide status bar?

末鹿安然 提交于 2019-12-19 14:25:10

问题


How can I hide the status bar for a specific activity?

I found this similar question, but none of the answers worked for me. The app just crashed every time I tried to go to the activity: How to hide status bar in Android

Thanks.


回答1:


Try this in you activity before setting your content

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



回答2:


Hide the Status Bar on Android 4.0 and Lower

  1. By setting the theme of application in manifest.xml file.

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

    OR

  2. By writing JAVA code in activity's onCreate() method.

    @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);
    }
    

Hide the Status Bar on Android 4.1 and Higher

By writing JAVA code in Activity's onCreate() method.

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



回答3:


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



回答4:


Open styles.xml and update the styles which your activity uses :

<style name="ExampleTheme" parent="android:Theme.Light">
    <item name="android:windowNoTitle">true</item> <!-- add this line -->
</style>



回答5:


Only working answer (for me at least)

In styles.xml

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

The in-code solution did not work for me in 4.4.2 Kitkat.



来源:https://stackoverflow.com/questions/33705720/how-to-hide-status-bar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!