2016-12-02 2 views
1

Ich würde gerne erklären, was ich gerade mache. Ich habe ein aar (sdk) entwickelt und läuft gut. Allerdings möchte ich, dass mein SDK beim Aufruf den Vollbildmodus belegt, sogar der Aufrufer hat eine Symbolleiste. Ich habe versucht, die Probe aus diesem LinkAndroid-Aktivität verstecken zu bar, Vollbild

[How to set activity to fullscreen mode in Android?

Allerdings, wenn ich den Code in Android-Manifest des sdk setzen, wird meine App abgestürzt. Wenn ich es mache, wenn sdk Aktivität OnCreate wie unten Code. Die Symbolleiste ist immer noch da.

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

     setContentView(R.layout.activity_sdk_main); 

Darf ich wissen, was ich tun muss, um die Symbolleiste zu verbergen. Vielen Dank.

+0

beste Lösungen sind hier: 'http: // stackoverflow.com/Fragen/2868047/Vollbild-Aktivität-in-android' –

+0

von Ihrem Link, ich fand getSupportActionBar() verstecken();. arbeitet für mich. Vielen Dank. – kggoh

Antwort

0
getSupportActionBar().hide(); 

funktioniert.

Zusätzliche Erklärung, meine Klasse ist eine Erweiterung von AppCompatActivity, unten ist der Code.

@Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      Logger.d(SdkMainActivity.class, "onCreate"); 
      getSupportActionBar().hide(); //---> this works 

    //requestWindowFeature(Window.FEATURE_NO_TITLE); //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // ---> this the toolbar still appear 

      setContentView(R.layout.activity_sdk_main); 

} 
+1

Können Sie bitte ein vollständiges Beispiel und eine Erklärung des Codes für die Vollständigkeit geben? – Shawn

+0

Ich habe zusätzliche Details des Codes hinzugefügt. – kggoh

0

Wenn Sie den Vollbildmodus für bestimmte Aktivität wollen, dann diese

verwenden
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_login); 

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

} 

und für alle Aktivitäten erstellen BaseActivity und schreiben ihre onCreate Verfahren, wie oben und erweitern diese Grundaktivität für alle anderen Aktivitäten gezeigt.

+0

Entschuldigung. Das ist ich bereits versucht, bevor Sie diese Frage stellen. Ich habe versucht, diesen Code vor und nach setContentView hinzuzufügen. Beide funktionieren nicht. – kggoh

0
public void setFullScreenView() {//Hiding status/navigation bar 
    if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { 
     View v = this.getWindow().getDecorView(); 
     v.setSystemUiVisibility(View.GONE); 
    } else if (Build.VERSION.SDK_INT >= 19) { 
     View decorView = getWindow().getDecorView(); 
     decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE 
       | View.SYSTEM_UI_FLAG_FULLSCREEN 
       | View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
       | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY 
       | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
       | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); 
    } 
    setContentView(R.layout.activity_splash_screen); 
}