通知栏图标在android 5中变成白色我有一个显示自定义通知的应用程序。问题是,在Android 5中运行时,通知栏中的小图标以白色显示。我怎么才能解决这个问题?
3 回答
当年话下
TA贡献1890条经验 获得超9个赞
完全同意用户DanielSaidi。为了Color
为NotificationIcon
我在写这个答案。
为此,你必须制作像这样的图标Silhouette
做一些章节Transparent
无论你想在哪里添加你的Colors
..也就是说,
您可以使用
.setColor(your_color_resource_here)
注:setColor
只有在Lollipop
所以,你得检查一下OSVersion
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { Notification notification = new Notification.Builder(context) ...} else { // Lollipop specific setColor method goes here. Notification notification = new Notification.Builder(context) ... notification.setColor(your_color) ... }
您还可以使用Lollipop
作为目标SDK
.
所有关于NotificationIcon
给予.GoogleDeveloper控制台通知指南线.
首选通知图标大小24x24dp
mdpi @ 24.00dp = 24.00pxhdpi @ 24.00dp = 36.00pxxhdpi @ 24.00dp = 48.00px
MYYA
TA贡献1868条经验 获得超4个赞
这是Android用来显示通知图标的代码:
// android_frameworks_base/packages/SystemUI/src/com/android/systemui/// statusbar/BaseStatusBar.javaif (entry.targetSdk > = Build.VERSION_CODES.LOLLIPOP) { entry.icon.setColorFilter(mContext.getResources().getColor(android.R.color.white));} else { entry.icon.setColorFilter(null);}
因此,您需要将目标SDK版本设置为<21
图标将保持颜色。这是一个丑陋的解决办法,但它做了它应该做的事情。不管怎么说,我真的建议你跟着谷歌的设计指南: “通知图标必须完全是白色的。”
下面是如何实现它:
如果您正在使用Gradle/AndroidStudio构建应用程序,请使用build.gradle
:
defaultConfig { targetSdkVersion 20}
否则(Eclipse等)使用AndroidManifest.xml
:
<uses-sdk android:minSdkVersion="..." android:targetSdkVersion="20" />
- 3 回答
- 0 关注
- 939 浏览
添加回答
举报
0/150
提交
取消