0

I need that application not show navigation and status bar. How to hide navigation bar in Android app? I used this solution but when I click on EditText then navigation and status bar come again.

How to do that bars never come again?

Kasım Özdemir
  • 5,414
  • 3
  • 18
  • 35

6 Answers6

0

Your can use a Fullscreen layout just like for Splash screen in Android to hide the navigation and status bar.

0

try this.

   @Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    // When the window loses focus (e.g. the action overflow is shown),
    // cancel any pending hide action. When the window gains focus,
    // hide the system UI.
    if (hasFocus) {
        delayedHide(300);
    } else {
        mHideHandler.removeMessages(0);
    }
}

private void hideSystemUI() {
    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_LOW_PROFILE | 
        View.SYSTEM_UI_FLAG_IMMERSIVE
    );
}

private void showSystemUI() {
    getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE | 
        View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | 
        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    );
}

private final Handler mHideHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        hideSystemUI();
    }
};

private void delayedHide(int delayMillis) {
    mHideHandler.removeMessages(0);
    mHideHandler.sendEmptyMessageDelayed(0, delayMillis);
}
S T
  • 1,068
  • 2
  • 8
  • 16
0

Add this to your activity in onCreate method which you desire to make full-screen. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

Also, add this to your same activity tag in the manifest file: android:theme="@style/Theme.AppCompat.NoActionBar"

E.g.

 <activity
    android:name=".Account.SplashActivity"
    android:theme="@style/Theme.AppCompat.NoActionBar">
</activity>
Sonu Sourav
  • 2,926
  • 2
  • 12
  • 25
0

Its very simple,you can try these simple steps to achieve what you want here.But i don't know what kind of navigation bar you want to remove.

Actually,you can achieve full screen without showing status bar,here is solution:

    //no status bar
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
0

You just have to add this :

    android:name=".Account.SplashActivity"
    android:theme="@style/Theme.AppCompat.NoActionBar">
</activity>

Simple!

KingAsh
  • 82
  • 8
0

Call this function in your Activity onCreate()

  fun Activity.makeFullScreen() {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                window.apply {
                    clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
                    addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
                    } else {
                        decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    }
                }
            }
Krishna Sony
  • 1,286
  • 13
  • 27