通知栏图标在android 5中变成白色

通知栏图标在android 5中变成白色

我有一个显示自定义通知的应用程序。问题是,在Android 5中运行时,通知栏中的小图标以白色显示。我怎么才能解决这个问题?



哔哔one
浏览 949回答 3
3回答

当年话下

完全同意用户DanielSaidi。为了Color为NotificationIcon我在写这个答案。为此,你必须制作像这样的图标Silhouette做一些章节Transparent无论你想在哪里添加你的Colors..也就是说,您可以使用.setColor(your_color_resource_here)注:setColor只有在Lollipop所以,你得检查一下OSVersionif (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控制台通知指南线.首选通知图标大小24x24dpmdpi    @ 24.00dp   = 24.00pxhdpi    @ 24.00dp   = 36.00pxxhdpi   @ 24.00dp   = 48.00px

MYYA

这是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" />
打开App,查看更多内容
随时随地看视频慕课网APP