viewpage 中videoview全屏,状态栏隐藏

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


你可能感兴趣的:(viewpage 中videoview全屏,状态栏隐藏)