wake-up-neo.com

So blenden Sie die Statusleiste in Android in nur einer Aktivität aus

Ich möchte die Statusleiste/Benachrichtigungsleiste im Begrüßungsbildschirm ausblenden. Ich verwende folgenden Stil: <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> Diese Dosis verbirgt die Statusleiste nicht. Wie soll ich das tun?

9
Kunal Dudka

Wenn Sie die Statusleiste entfernen möchten, verwenden Sie diese vor setContentView (Layout) in der onCreateView-Methode

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

Credits

38

Verwenden Sie den folgenden Code, um Ihr Problem zu lösen.

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Add Below line to hide 
        getSupportActionBar().hide();
    }
2
Chetan Joshi

Sie können so etwas wie unten beschrieben tun, um das Thema für Ihre jeweilige Aktivität entsprechend einzustellen. 

<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>
1
Bajrang Hudda

Probieren Sie diese Komplettlösung aus, um die Android-Version 16 und die vorwärtskompatible Lösung zu verwenden

    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
Geek

Machen Sie diese Aktivität im Vollbildmodus. Fügen Sie diesen Code in onCreate dieser Aktivität vor setContentView ein.

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

Das habe ich benutzt und es hat perfekt funktioniert.

Fügen Sie diesen Code zu Ihrer Aktivität onCreate vor setContentView hinzu:

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

}
0
NelsonRoberts

Ich habe einen magischen Code geschrieben. Schaltflächen in der Statusleiste können angeklickt werden, dies ist jedoch schwierig. Teil für 4.4 funktioniert nicht gut.

    /** Скрывает статус-бар */
    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);
}
0
SatanRus

Versuche dies: 

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