您的位置:首页 > 移动开发 > Android开发

android 播放视频时切换全屏隐藏状态栏

2016-07-05 11:51 399 查看
 

1.

Demo:

@Override

protected void onCreate(Bundle savedInstanceState) {

 

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

getWindow().getDecorView().setSystemUiVisibility(View.INVISIBLE);

}

else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

// this.requestWindowFeature(Window.f);// 去掉标题栏

// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

// WindowManager.LayoutParams.FLAG_FULLSCREEN);// 去掉信息栏

Log.i("info", "portrait"); // 竖屏

}

 

Need:

<uses-sdk android:minSdkVersion="11" />

TD:

  View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。

   setSystemUiVisibility(int visibility)方法可传入的实参为:

    1. View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。

    2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。

    3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。

    4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。

    5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    6. View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

    7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。

    8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。

 

 

2.

 

    if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

            WindowManager.LayoutParams attrs = getWindow().getAttributes();

            attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;

            getWindow().setAttributes(attrs);

            getWindow().addFlags(

                    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

        } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

            WindowManager.LayoutParams attrs = getWindow().getAttributes();

            attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);

            getWindow().setAttributes(attrs);

            getWindow().clearFlags(

                    WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: