Activityがフルスクリーンモードで動作する場合、ステータスバーの表示と非表示
2096 ワード
1.activityの
2.前に付ける
3.再利用
しかし、私は上の2つの言葉で、私のvideoviewで使っているmediacoontrollerの進捗バーを遮断したことに気づいた.
だから、その二つの言葉を変えてもいいです.
私はviewpagerを使っています.真ん中のページにvideoviewが入っているので、videoviewには正常に表示されていますが、左右の2ページが正常に表示されていません.
プラスできる
//ステータスバー表示、Activity不完全画面表示(ステータスがある正常に戻る)
何ページ目にスライドするかを監視することができます
補足:透明タスクバー
定義された2つのFlagをViewに追加します.//完全透明タスクバーpublic static final int SYSTEM_UI_FLAG_TRANSPARENT_STATUS_BAR = 0x00000010;//半透明タスクバーpublic static final int SYSTEM_UI_FLAG_TRANSLUCENT_STATUS_BAR = 0x00000020;一部のアプリケーションでは、設定が必要な場合、必要なUIインタフェースの設定:getWindow()がある.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_TRANSPARENT_STATUS_BAR);アプリケーションの終了は処理を必要とせず、デフォルトに戻ります.
setContentView(R.layout.video_main);
2.前に付ける
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
3.再利用
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//
しかし、私は上の2つの言葉で、私のvideoviewで使っているmediacoontrollerの進捗バーを遮断したことに気づいた.
だから、その二つの言葉を変えてもいいです.
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
私はviewpagerを使っています.真ん中のページにvideoviewが入っているので、videoviewには正常に表示されていますが、左右の2ページが正常に表示されていません.
プラスできる
//ステータスバー表示、Activity不完全画面表示(ステータスがある正常に戻る)
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
何ページ目にスライドするかを監視することができます
@Override
public void onPageSelected(int arg0) {
if (arg0 == 0) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}else if (arg0 == 2){
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}else{
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
},1000);
}
}
補足:透明タスクバー
定義された2つのFlagをViewに追加します.//完全透明タスクバーpublic static final int SYSTEM_UI_FLAG_TRANSPARENT_STATUS_BAR = 0x00000010;//半透明タスクバーpublic static final int SYSTEM_UI_FLAG_TRANSLUCENT_STATUS_BAR = 0x00000020;一部のアプリケーションでは、設定が必要な場合、必要なUIインタフェースの設定:getWindow()がある.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_TRANSPARENT_STATUS_BAR);アプリケーションの終了は処理を必要とせず、デフォルトに戻ります.