需求: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"