通知欄圖標在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 關注
- 998 瀏覽
添加回答
舉報
0/150
提交
取消
