2016-05-20 8 views
0

おはよう、setFullScreen in webview

私はAndroidスタジオでインターネットページを開くアプリを開発しました。私はそれをフルスクリーンにしたかったのです(つまり、画面の上部に通知バーはありません)。フォーラムを見て、私はこれを追加しました:

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState);  

//... some additional code here ... 

    View decorView = setFullscreen(); 
    decorView 
      .setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { 
       @Override 
       public void onSystemUiVisibilityChange(int visibility) { 
        setFullscreen(); 
       } 
      }); 

    webView.loadUrl(myUrl); 

} 

private View setFullscreen() { 
    View decorView = getWindow().getDecorView(); 
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
      | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
    return decorView; 
} 

public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     setFullscreen(); 
    } 
} 

すべては私がロードされたページのリンクのいずれかをクリックしたときを除いて、ほぼ完璧に動作します:別のページがロードされたときに、トップの通知バーが再び表示されます。

誰かが私が逃したものについて考えていますか?あなたの種類の助けと最高の願い、 ローラン

答えて

0

ため

おかげで、あなたの活動のクラスでこのコードを使用することができます。

@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

それは素晴らしいです、それは岩、おかげでたくさんの素晴らしい週末があります:) – Laurent