Hide Notification bar

Android

Android Problem Overview


Anyone know how to disable/hide notification bar at the top which show battery and other things in android. Any help will be appreciated.

EDIT: Please also add how can I hide ActionBar+NotificationBar for later android versions.

Android Solutions


Solution 1 - Android

You could use a theme in your AndroidManifest.xml:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

or change parent of your AppTheme to @android:style/Theme.NoTitleBar.Fullscreen like this

<style name="AppTheme" parent="Theme.NoTitleBar.Fullscreen">
</style>

then apply this theme on activities which you want Fullscreen like

android:theme="@style/AppTheme"

or use the following code snippet:

public class FullScreen
    extends android.app.Activity
{
    @Override
    public void onCreate(android.os.Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

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

        setContentView(R.layout.main);
    }
}

Solution 2 - Android

The answers above hide ActionBar too. If you intend to only hide notification bar, use this code:

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

be careful to put it before setContentView().

Solution 3 - Android

public void onCreate(Bundle savedInstanceState)
{
	super.onCreate(savedInstanceState);
	getWindow().requestFeature(Window.FEATURE_NO_TITLE);
	getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

Solution 4 - Android

Another Simple option is to add <item name="android:windowFullscreen">true</item> on the theme you will apply to activities that don't need a notification bar...

like so..

<style name="AppTheme.Splash">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>

Works like charm

Solution 5 - Android

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            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);
        }
    }

Solution 6 - Android

Successfully implemented a slightly modified version of @Martin's suggestion along with a custom theme to get rid of BOTH the Status and Navigation Bar.

public class MyActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //* Hides Notification Bar
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_my);
}

Top part is used to get rid of the Status bar. Add the following code to your @styles as a resource to kill off the NavBar as well.

 <resources> <style name="NoNav" parent="@android:style/Theme.Holo.Light">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style> </resources>



After you add this to your resource file, pop open AndroidManifest.xml and chance your application theme to "@style/NoNav".

Android UI bloatware eliminated :)

Solution 7 - Android

You can use this for 4.1 or upper versions.

View decorView = getWindow().getDecorView();    
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);

Solution 8 - Android

you can do like this in onCreate() method :

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
ActionBar actionBar = getActionBar();
actionBar.hide();

Solution 9 - Android

This answer is for android developers who like minimalist and simplified one-liner code. If you intend to only hide notification bar, use this code:

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

be careful to put it before setContentView() in your on create() function of required activity.class

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHassan JawedView Question on Stackoverflow
Solution 1 - AndroidMartinView Answer on Stackoverflow
Solution 2 - AndroidBehnamView Answer on Stackoverflow
Solution 3 - AndroidCaseyBView Answer on Stackoverflow
Solution 4 - AndroidkonzoView Answer on Stackoverflow
Solution 5 - AndroidArpit PatelView Answer on Stackoverflow
Solution 6 - AndroidNick SarafaView Answer on Stackoverflow
Solution 7 - Androidreza.cse08View Answer on Stackoverflow
Solution 8 - AndroidAflamZoneView Answer on Stackoverflow
Solution 9 - AndroidZiaView Answer on Stackoverflow