I want to hide status bar / notification bar in splash screen I am using
style:<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
this dose not hide the status bar, how should i do this?
 
    
    - 467
- 1
- 6
- 14
- 
                    1Possible duplicate of [How to hide status bar in Android](http://stackoverflow.com/questions/5431365/how-to-hide-status-bar-in-android) – fweigl Mar 23 '17 at 06:22
13 Answers
If you want to remove status bar then use this before setContentView(layout) in onCreateView method
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
    
    - 1
- 1
 
    
    - 6,755
- 4
- 38
- 57
- 
                    5use getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) if you want to add it back. – Kharda Dec 07 '18 at 04:05
- 
                    1
- 
                    
You can do something like below for appropriately setting theme on your particular activity -
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/launch_theme</item>
        <item name="android:windowTranslucentNavigation">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
 </style>
 
    
    - 3,028
- 1
- 36
- 63
- 
                    thanks man very good approach if you want to avoid hiding status bar animation after the view has been drawn – Edhar Khimich Mar 25 '20 at 05:32
- 
                    2The `android:windowFullscreen` is what is was looking for using in my `styles.xml` – it works wonderfully for me and the same as `FLAG_FULLSCREEN` for me! – David Refoua Jul 07 '20 at 12:10
Try this:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowFullscreen">true</item>
</style>
 
    
    - 61
- 1
- 2
Use Below Code to solve your problem.
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Add Below line to hide 
        getSupportActionBar().hide();
    }
 
    
    - 5,582
- 4
- 30
- 43
Try this complete solution for backward below android version 16 and forward compatible solution
    if (Build.VERSION.SDK_INT < 16)
    {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    else
    {
        View decorView = getWindow().getDecorView();
        // Hide the status bar.
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
    }
 
    
    - 1,510
- 14
- 17
For Kotlin users.
In styles.xml add new style: 
<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
Now in AndroidManifest.xml add newly created style: 
 <activity
            android:name=".MainActivity"
            android:theme="@style/NoActionBarTheme"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustResize"
 >...</activity>
Finally in MainActivity.kt make following changes: 
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        //Add below line to hide status bar
        window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
}
Now the status bar should be gone:
 
    
    - 10,183
- 2
- 21
- 41
To make your activity fullscreen, add this code in onCreate before setContentView:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
    
    - 4,116
- 4
- 29
- 53
 
    
    - 5,197
- 4
- 40
- 69
This is what I used and it worked perfectly.
Add this code to your activity onCreate before setContentView:
    @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
 
    
    - 2,321
- 2
- 12
- 19
 
    
    - 156
- 9
if you are using this in theme app
Theme.MaterialComponents.NoActionBar
change to
Theme.AppCompat.NoActionBar
and add code in activity:
fun fullScreen(activity: Activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
    if (activity.window.insetsController != null) {
        val insetsController = activity.window.insetsController
        if (insetsController != null) {
            insetsController.hide(WindowInsets.Type.statusBars() or WindowInsets.Type.navigationBars())
            insetsController.systemBarsBehavior =
                WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
        }
    }
} else {
    activity.window.setFlags(
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
    )
}
}
 
    
    - 31
- 6
If you want to hide status bar line and action bar, you have to change the line in themes.xml
   <style name="Theme.MyApp" 
           parent="Theme.MaterialComponents.DayNight.DarkActionBar">
to
   <style name="Theme.MyApp" 
            parent="Theme.MaterialComponents.DayNight.NoActionBar">
and this to activity class in which you don't want status bar line..
     requestWindowFeature(Window.FEATURE_NO_TITLE)
        window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
           WindowManager.LayoutParams.FLAG_FULLSCREEN);
Plz make sure that you have to add these lines above this in onCreate() method.
        setContentView(R.layout.activity_main)
 
    
    - 637
- 6
- 14
Try this:
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
 
    
    - 238
- 2
- 14
I did some magic code. Buttons in the status bar can be clicked, but it's difficult. Part for 4.4 does not work well.
    /** Скрывает статус-бар */
    private void hideStatusBar(View decorView)
    {
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
        android.app.ActionBar actionBar = getActionBar();
        if (actionBar != null)
            actionBar.hide();
    }
    @Override protected void onCreate(Bundle savedInstanceState)
    {
            super.onCreate(savedInstanceState);
            try
            {
                // for < 4.0
                if (Build.VERSION.SDK_INT < 16)
                    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
                // for > 4.0
                else
                {
                    final View decorView = getWindow().getDecorView();
                    hideStatusBar(decorView);
                    decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener()
                    {
                        @Override public void onSystemUiVisibilityChange(int visibility)
                        {
                            if (visibility != View.SYSTEM_UI_FLAG_FULLSCREEN)
                                hideStatusBar(decorView);
                        }
                    });
                }
            }
            catch (Throwable t)
            {
                Util.log("Ошибка при попытке свернуть статус бар");
                t.printStackTrace();
            }
            setContentView(R.layout.activity_main);
}
 
    
    - 36
- 1
- 3
If you want to remove the status bar then
For Java
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
For Kotlin
    window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
For flutter
    SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
 
    
    - 828
- 8
- 10
