需求:viewpager中三个页面,中间是一个videoview,左右两页是list列表
要求videoview全屏,一开始有状态栏,点击屏幕状态栏消失,再点击状态栏出现
左右两个list的页面,一直都有状态栏
第一步在mainActivity中,在onCreate里
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
//设置全屏,且不覆盖状态栏,下面是全面,状态栏叠在下面的上面,这个设置之后,左右两边的页面也会出现这样,导致部分布局会被状态栏遮住,
//我们可以在左右两边的布局文件里加上android:paddingTop="@*android:dimen/status_bar_height"
setContentView(R.layout.video_main);
第二步,重写onPageSelected()方法
@Override
public void onPageSelected(final int arg0) {
if (arg0 == 0) {setmArg(arg0);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);}
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"