2016-07-08 20 views
1

Ich habe es geschafft, die Statusleiste beim Start zu verstecken. Aber wann immer ich die Steuerelemente berühre, erscheint die Statusleiste. Um das zu lösen, habe ich versucht, diesen Code zu verstecken, aber es taucht zuerst auf, dann versteckt es sich. Diese Schleife wird für immer fortgesetzt.Ausblenden der Statusleiste bis zum Beenden

private View mContentView; 
private View mControlsView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_testgame); 

    mControlsView = findViewById(R.id.fullscreen_content_controls); 
    mContentView = findViewById(R.id.fullscreen_content); 

    mContentView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      ActionBar actionBar = getSupportActionBar(); 
      if (actionBar != null) { 
       actionBar.hide(); 
      } 
      mControlsView.setVisibility(View.GONE); 
      mContentView.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_IMMERSIVE); 
     } 
    }); 

Ich habe auch versucht android:theme="@android:style/Theme.NoTitleBar.Fullscreen" Thema zu ändern, aber versteckt es noch, bis ich Kontrollen berühren. Ich möchte es ausblenden, bis ich die Anwendung beende. Es ist möglich, es ohne root-Berechtigungen zu tun, da die meisten Spiele, die ich gespielt habe, verstecken können, bis ich das Spiel verlasse oder auf

Antwort

0

Ich habe gerade Lösung auf this Seite gefunden, die Statusleiste dauerhaft verbirgt.

Zuerst habe ich diese import android.view.WindowManager; hinzugefügt.

hier Dann ist meine OnCreate Funktion:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_testgame); 

    //Hide status bar 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    //Hide action bar 
    ActionBar actionBar = getSupportActionBar(); 
    if (actionBar != null) { 
     actionBar.hide(); 
    } 

} 

Und dieser Code hilft Ihnen Statusleiste angezeigt wieder

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// Show status bar 
Verwandte Themen