关于状态栏的那些事

原创 2017年01月03日 14:03:20
 /**
     * 淡化状态栏和导航栏
     * 用户触碰到状态栏或者导航栏时会自动恢复
     */
    public void danhuaClick(View view) {
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
        decorView.setSystemUiVisibility(uiOptions);
    }

    /**
     * 恢复淡化状态
     */
    public void huifuClick(View view) {
        View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(0);
    }

    /**
     * 隐藏状态栏
     * 一旦设置会一直生效
     * 用户下拉时会显示状态栏,然后会自动隐藏状态栏
     */
    public void yincangztlClick(View view) {


        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

//            // 4.1之后可以动态隐藏状态栏,用户下拉后会恢复,需要重新设置
//            View decorView = getWindow().getDecorView();
//            int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
//            decorView.setSystemUiVisibility(uiOptions);

    }

    /**
     * 隐藏导航栏和状态栏
     * 用户点击后重新显示
     */
    public void zhuangtaiClick(View view) {
        //4.0以上
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
    }

    /**
     * 非粘性沉浸式模式
     * 用户向下滑动恢复,需重新设置才能生效
     * 恢复后Actionbar会盖住内容建议隐藏
     */
    public void feinianClick(View view) {
        View mDecorView = getWindow().getDecorView();
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
                        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                        | View.SYSTEM_UI_FLAG_IMMERSIVE);
    }


    /**
     * 恢复非粘性沉浸式模式
     * 恢复后Actionbar会盖住内容建议隐藏
     */
    public void huifufeiClick(View view) {
        View mDecorView = getWindow().getDecorView();
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
    }

    /**
     * 粘性沉浸式模式
     * 用户下拉显示状态栏和导航栏
     * 一段时间后自动隐藏
     */
    public void nianxingClick(View view) {
        View mDecorView = getWindow().getDecorView();
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
                        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
                        | View.SYSTEM_UI_FLAG_IMMERSIVE
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        );
    }

    /**
     * 内容穿透状态栏和导航栏
     * 为布局设置fitsSystemWindows属性防止内容位移
     * 根据具体情况为相应的控件设置此属性
     * 当actionbar存在时,谷歌并没有提供一个好的解决方案
     *
     * @param view
     */
    public void chuantouClick(View view) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            // 5.0
            // 全透明状态栏
            getWindow().setStatusBarColor(Color.parseColor("#00000000"));
            // 半透明状态栏
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            //透明导航栏
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        }
    }


    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
            // TODO 当窗口获取到焦点时会执行此方法
            Log.e("窗口", "获取焦点");
        }
    }

/**
     * 专注模式
     */
    public void myClick(View v){
        int currentVis = v.getSystemUiVisibility();
        int newVis;
        if ((currentVis & View.SYSTEM_UI_FLAG_LOW_PROFILE)
                == View.SYSTEM_UI_FLAG_LOW_PROFILE) {
            newVis = View.SYSTEM_UI_FLAG_VISIBLE;
        } else {
            newVis = View.SYSTEM_UI_FLAG_LOW_PROFILE;
        }
        v.setSystemUiVisibility(newVis);
    }
    /**
     * 隐藏底部导航栏
     *
     * @param v
     */
    public void myClick2(View v) {
        v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }

    /**
     * 全屏模式
     */
    public void myClick3(View v) {
        v.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }

读书笔记:《明朝那些事 第一部文摘》

1.这是一个伟大的转变,很多人可能穷奇一辈子也无法完成.转变的关键在于心.是的,即使你拥有人人羡慕的容貌,博览群书的才学,挥霍不尽的财富,也不能证明你打强大.因为心 的到强大,才是正真的强大。2.自古...
  • ansenamerson
  • ansenamerson
  • 2017年08月21日 23:28
  • 596

明朝那些事儿说英雄

英雄在国家出现危难之时,总有一些人挺身而出,为国效力,这样的人,我们称为英雄。 在每个人的心底,都有着当英雄的渴望,就连王振也不例外,他出征也是希望得到这个称号。 但英雄不是人人都能当的,如果那么容易...
  • lcg22it
  • lcg22it
  • 2007年06月21日 17:28
  • 573

关于用户画像那些事,看这一文章就够了

前言     随着近五年互联网和大数据技术的蓬勃发展,各类数据产品应运而生,从阿里自身大数据的应用发展来看可以看到几方面的挑战: 一方面为了应对数据量高速的增长,衍生出各类的分布式数据...
  • ax8785r8C32nef593
  • ax8785r8C32nef593
  • 2017年12月08日 00:00
  • 191

网络的那些事之IP

在此,我就用比较通俗的语言说一说关于IP的那些事,不一定全面,有的可能我的理解不正确,如果有不当之处,希望你可以通知我,一起进步。 一、IP的概念          IP在这里有两层意思:      ...
  • bingjia103126
  • bingjia103126
  • 2016年11月25日 15:06
  • 138

《那些年啊,那些事——一个程序员的奋斗史》——01

    段伏枥,一个瘦小,矮小,根本和“帅”这个字粘不上任何关系的普通人。名字的来源在于其多读了几年书的老爹,总抱着有一天要出书出名乃至于名流千古的美好理想,但可惜现实总是给予他无情的而又现实的打击,...
  • norains
  • norains
  • 2011年06月09日 12:09
  • 71927

揭开 Growth Hacking 的神秘面纱(番外篇)+ 大结局

揭开 Growth Hacking 的神秘面纱(番外篇)+ 大结局 覃超帝国兴亡史 12月11日 11:45 FACEBOOK 互联网 分类 :互联网 阅读:1527  抢沙发 ...
  • zkl99999
  • zkl99999
  • 2015年12月11日 20:45
  • 595

我和滴滴打车司机的那些事

作者:朱金灿来源:http://blog.csdn.net/clever101 滴滴打车毫无疑问是当前共享经济的杰出代表,但是有时我在想:它有没有可能成为一种社交的新方式?下面以我为例,讲讲我和滴...
  • clever101
  • clever101
  • 2016年08月21日 17:17
  • 1992

AOP那些事儿

原文地址:http://my.oschina.net/huangyong/blog/161338
  • lujianing2011
  • lujianing2011
  • 2014年07月02日 21:14
  • 1005

漫谈程序员系列:让程序员蛋疼的那些事儿

也许你和我一样,讨厌这些……
  • foruok
  • foruok
  • 2015年03月30日 07:34
  • 16170

说说JavaScript那些事

今天想说说JavaScript对象的知识点,涉及对象,属性,复制数据类型,基本数据类型,作用域,继承,this关键字,和window对象等概念。 一,JavaScript对象: 在JavaScript...
  • qianqianyixiao1
  • qianqianyixiao1
  • 2016年04月09日 10:24
  • 1945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于状态栏的那些事
举报原因:
原因补充:

(最多只允许输入30个字)