需求:viewpager中三個頁面,中間是一個videoview,左右兩頁是list列表java
要求videoview全屏,一開始有狀態欄,點擊屏幕狀態欄消失,再點擊狀態欄出現android
左右兩個list的頁面,一直都有狀態欄ide
第一步在mainActivity中,在onCreate裏佈局
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); //設置全屏,且不覆蓋狀態欄,下面是全面,狀態欄疊在下面的上面,這個設置以後,左右兩邊的頁面也會出現這樣,致使部分佈局會被狀態欄遮住, //咱們能夠在左右兩邊的佈局文件里加上android:paddingTop="@*android:dimen/status_bar_height" setContentView(R.layout.video_main);
第二步,重寫onPageSelected()方法post
@Overridecode
public void onPageSelected(final int arg0) {get
if (arg0 == 0) {setmArg(arg0);it
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);}class
if (arg0==1){方法
setmArg(arg0);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
//回到中間頁,一開始有狀態欄,不動的話自動消失
new Handler().postDelayed(new Runnable(){
public void run() {
@Override
public void run() {
if(mArg==1){
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
}
},5000);
}
if(arg0==2){
setmArg(arg0);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);}
}
在寫個 mArg的set,get方法
第三步:修改左右兩邊佈局文件,加上
android:paddingTop="@*android:dimen/status_bar_height"