Android:是否可以更改 Android Lollipop 状态栏中图标的颜色

标签 android colors window icons statusbar

我有以下改变状态栏颜色的函数:

   public static void colorStatusBar(Window window, Context context, boolean transparent) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        if(transparent){
            window.setStatusBarColor(context.getResources().getColor(android.R.color.transparent));
        }else{
            window.setStatusBarColor(context.getResources().getColor(R.color.timeline_unselected));
        }
    }
}

我的问题是,它改变了状态栏的颜色,但没有改变图标的​​颜色,这使得它们几乎不可见。 示例:http://postimg.org/image/ah01hzxdz/ 是否也可以更改图标颜色?

最佳答案

是的,可以将其更改为灰色(无自定义颜色),但这仅适用于 API 23 及更高版本,您只需将其添加到您的 values-v23/styles.xml 到您的主题声明中。

<item name="android:windowLightStatusBar">true</item>

关于Android:是否可以更改 Android Lollipop 状态栏中图标的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34930260/

相关文章:

javascript - 插画填充颜色对象

java - Color.getColor(String, int) - 随机颜色

javascript - electron中如何获取当前前台应用(Javascript)

VB.Net 按标题关闭窗口

android - Unity Ads 无法显示广告 : webapp not initialized

javascript - 浏览器跳过 "if"、 "else if",直接转到 "else"语句

Java - 需要将日期字符串更改为日期,但应用偏移量

c++ - 如何使用 C++ 在 Vista 中将窗口置于前台?

android - 使用 cordova-plugin-camera 拍摄照片时获取手机方向

android - 在 android 中跟踪屏幕时间