zoukankan      html  css  js  c++  java
  • android 播放视频时切换全屏隐藏状态栏

    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);
            }

  • 相关阅读:
    [原创]项目管理知识体系指南之 10项目沟通管理思维导图
    [原创]项目管理知识体系指南之 9项目人力资源管理思维导图
    [原创]项目管理知识体系指南之 5范围管理思维导图
    [原创]项目管理知识体系指南之 6项目时间管理思维导图
    [原创]2013年测试人员薪水分布图
    [原创]项目管理知识体系指南之 11项目风险管理维导图
    [原创]项目管理知识体系指南之 8项目质量管理思维导图
    [原创]2013年上半年测试技术学习文档任务
    [原创]Linux下网络性能测试Netperf工具介绍及安装
    [原创]数据库安全思维导图
  • 原文地址:https://www.cnblogs.com/mokliu/p/3690854.html
Copyright © 2011-2022 走看看