通知欄圖標在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
圖標將保持顏色。這是一個丑陋的解決辦法,但它做了它應該做的事情。不管怎么說,我真的建議你跟著谷歌的設計指南:?“通知圖標必須完全是白色的?!?/em>
下面是如何實現它:
如果您正在使用Gradle/AndroidStudio構建應用程序,請使用build.gradle
:
defaultConfig?{ ????targetSdkVersion?20}
否則(Eclipse等)使用AndroidManifest.xml
:
<uses-sdk?android:minSdkVersion="..."?android:targetSdkVersion="20"?/>
- 3 回答
- 0 關注
- 989 瀏覽
添加回答
舉報
0/150
提交
取消