安卓编程:沉浸式通知栏(最简单的方式)

炎子太IP属地: 湖北
字数 73阅读 1,040

首先加入工具类

SystemBarTintManager.java
下载后加入到包中

在onCreate中添加代码

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    
            setTranslucentStatus(true);    
            SystemBarTintManager tintManager = new SystemBarTintManager(this);    
            tintManager.setStatusBarTintEnabled(true);    
            tintManager.setStatusBarTintResource(R.color.blue500);//这里调用需要的通知栏颜色
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
            
        }   

在class中添加代码

@TargetApi(19)     
    private void setTranslucentStatus(boolean on) {    
        Window win = getWindow();    
        WindowManager.LayoutParams winParams = win.getAttributes();    
        final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;    
        if (on) {    
            winParams.flags |= bits;    
        } else {    
            winParams.flags &= ~bits;    
        }    
        win.setAttributes(winParams);    
    }  

6.0小米真机上效果

4.4模拟器上效果


如果有帮助或者喜欢,请点击下面的喜欢,谢谢ヽ(✿゚▽゚)ノ!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
4人点赞
炎子太只为记录自己的想法<br>
总资产1共写了470字获得35个赞共7个粉丝

推荐阅读更多精彩内容