2017-01-09 9 views
0

ich SYSTEM_UI_FLAG_FULLSCREEN verwenden status bar zu verstecken, Code wie folgt (sdk> 16):ausblenden Statusleiste nicht funktionieren

Decorview decorview = getWindow().getDecorview(); 
decorview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); 

Allerdings funktioniert es auf einigen Android-Handys, aber nicht auf andere wie unten: wrong status bar hidden

Was ist los mit der weißen Satus Bar? Warum ist es nicht versteckt? PS: Der Stil ist in Ordnung, nur eine normale, keine fitwindowsystem, keine immersive.

if (Build.VERSION.SDK_INT < 16) { 
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     } 

Aufruf dieses in Ihrer onCreate Methode, bevor Sie setContentView nennen:

+0

Hallo, haben Sie eine Antwort darauf gefunden? Ich habe das gleiche Problem. –

+0

@AI WId Nein. Ich gab diese Methode auf und verwendete den folgenden Weg: getWindow(). AddFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN); Es klappt. –

+0

ok danke, ich werde das gleiche tun, nehme ich an –

Antwort

0

Wie im Android Docs erwähnt, können Sie die statusBar wie dies in SDK < 16 d.h Android-Version niedriger als Jellybean verstecken.

und für SDK über 16 verwenden Sie folgenden Code:

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

Danke für Ihre Antwort! Aber der SDK ist über 16 und es gibt keine Aktionsleiste. Ich mache nur wie in Ihrer Antwort, aber es scheitert an einem Telefon. –

0

1. Wenn die Android-Version niedriger als Jellybean ist, diesen Aufruf zu benutzen, sich zu verstecken.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (Build.VERSION.SDK_INT < 16) { 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 
    setContentView(R.layout.activity_main); 
} 

2.Code die Statusleiste am 16. und höher Ihr Code funktioniert zu verstecken.

Decorview decorview = getWindow().getDecorview(); 
decorview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); 

Hinweis: Denken Sie daran, dass Sie nie die Aktionsleiste anzeigen soll, wenn die Statusleiste ausgeblendet ist, so verstecken, dass auch, wenn nötig.

ActionBar actionBar = getActionBar(); 
actionBar.hide(); 

3.if der Statusleiste immer bleiben sollte in Ihrer Anwendung Einstellung eine Tätigkeit Thema in Ihrer App-Manifest-Datei versteckt.

<application 
    ... 
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" > 
    ... 
</application> 
+0

Danke für Ihre Antwort! Aber der SDK ist über 16 und es gibt keine Aktionsleiste. Ich mache nur wie in Ihrer Antwort, aber es scheitert an einem Telefon –

Verwandte Themen