3 回答

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
完全同意用戶(hù)DanielSaidi。為了Color
為NotificationIcon
我在寫(xiě)這個(gè)答案。
為此,你必須制作像這樣的圖標(biāo)Silhouette
做一些章節(jié)Transparent
無(wú)論你想在哪里添加你的Colors
..也就是說(shuō),
您可以使用
.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
作為目標(biāo)SDK
.
所有關(guān)于NotificationIcon
給予.GoogleDeveloper控制臺(tái)通知指南線(xiàn).
首選通知圖標(biāo)大小24x24dp
mdpi????@?24.00dp???=?24.00pxhdpi????@?24.00dp???=?36.00pxxhdpi???@?24.00dp???=?48.00px

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是Android用來(lái)顯示通知圖標(biāo)的代碼:
//?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);}
因此,您需要將目標(biāo)SDK版本設(shè)置為<21
圖標(biāo)將保持顏色。這是一個(gè)丑陋的解決辦法,但它做了它應(yīng)該做的事情。不管怎么說(shuō),我真的建議你跟著谷歌的設(shè)計(jì)指南:?“通知圖標(biāo)必須完全是白色的。”
下面是如何實(shí)現(xiàn)它:
如果您正在使用Gradle/AndroidStudio構(gòu)建應(yīng)用程序,請(qǐng)使用build.gradle
:
defaultConfig?{ ????targetSdkVersion?20}
否則(Eclipse等)使用AndroidManifest.xml
:
<uses-sdk?android:minSdkVersion="..."?android:targetSdkVersion="20"?/>
- 3 回答
- 0 關(guān)注
- 995 瀏覽
添加回答
舉報(bào)