2016-07-08 4 views
1

起動時にステータスバーを非表示にすることができました。しかし、私がコントロールに触れるたびに、ステータスバーが現れます。これを解決するために、私はすべての接触でそれを隠すためにこのコードを試しましたが、最初に表示され、それが隠れています。このループは永遠に続く。終了までステータスバーを表示しない

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

私はまた、テーマandroid:theme="@android:style/Theme.NoTitleBar.Fullscreen"を変更しようとしましたが、私はコントロールに触れるまで、まだそれを隠してきました。私はアプリケーションを終了するまで、それを隠したい。ゲームを終了するかスワイプダウンするまで、私がプレイしたゲームのほとんどを隠すことができるので、ルート権限なしに行うことができます。

答えて

0

私はちょうどステータスバーを非表示にしているthisページの解決策を見つけました。

まず、私はこれをimport android.view.WindowManager;と追加しました。

は次にここに私のOnCreate機能である:

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

} 

そして、このコードは、あなたが

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// Show status bar 
再びステータスバーを表示するのに役立ちます
関連する問題