博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android P设置状态栏字体图标颜色
阅读量:6480 次
发布时间:2019-06-23

本文共 1289 字,大约阅读时间需要 4 分钟。

hot3.png

public void applyDark(DarkReceiver object) {} 

//安卓P会监听应用主题变化,亮色主题,设置字体和图标黑色, 黑色主题设置字体和图标等白色,通过onDarkChanged回调给ui。
//darkIntensity 为0f 则设置白色 ,为1f则设置黑色 

interface DarkReceiver { 

    void onDarkChanged(Rect area, float darkIntensity, int tint); 
    } 
    
    
    public void onDarkChanged(Rect area, float darkIntensity, int tint) {
          mTextView.setTextColor(DarkIconDispatcher.getTint(area, this, tint)); 
    }
          
          
          
          
          
           int colorForeground = Utils.getColorAttr(getContext(), android.R.attr.colorForeground);
            float intensity = colorForeground == Color.WHITE ? 0f : 1f; 
            Rect tintArea = new Rect(0, 0, 0, 0); 
            
            
            
    darkIntensity 为0f 则设置白色 ,为1f则设置黑色 

    //应用中调用切换systemui 字体图标颜色,可以通过如下方式切换

    /**

     * Android 6.0 以上设置状态栏颜色
     */

    int flag = 0;

    protected void setStatusBar() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

            // 设置状态栏底色颜色

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            getWindow().setStatusBarColor(getColor(R.color.text_color));

            // 如果亮色,设置状态栏文字为黑色

            if (flag == 0) {
                flag = 1;
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
            } else {
                flag = 0;
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
            }
        }

    }

转载于:https://my.oschina.net/u/1162691/blog/2991729

你可能感兴趣的文章
pycharm如何新项目如何不默认创建虚拟环境(吐槽)
查看>>
Loadrunner检查点小结(很经典)
查看>>
MySQL字段类型详解
查看>>
ORACLE 的游标
查看>>
虚拟机安装的UBUNTU全屏的方法:
查看>>
java虚拟机类加载器
查看>>
ASP.NET状态管理之八(会话Session)
查看>>
I.MX6 Android 5.1.1 下载、编译
查看>>
background
查看>>
转载:大型网站架构演变和知识体系
查看>>
set集合
查看>>
SVN服务器的搭建和使用
查看>>
mvc中枚举的使用和绑定枚举值到DropDownListFor
查看>>
多目标跟踪的评价指标
查看>>
python 生成器
查看>>
HTTPS(SSL)详解以及PHP调用方法
查看>>
突发小事件,USB接口问题
查看>>
Nginx负载均衡配置实例详解
查看>>
L1-009. N个数求和
查看>>
实参传递不当导致的运行时错误
查看>>