我正在尝试在通知栏上显示一个图标。 该图标是LevelListDrawable,可以通过设置级别来更改内容。 问题是我无法将水平设置为通知中的图标。 我曾尝试使用“Notification.icon”和“Notification.iconLevel”,但它不起作用。
这是我的代码片段。有人能看出什么问题吗?
Notification notification = new Notification(R.drawable.ic_stat_notify, "", System.currentTimeMillis());
notification.icon = R.drawable.ic_stat_notify;
notification.iconLevel = 30;
notification.setLatestEventInfo(context, "Hello", "World", intent);
manager.notify(NOTIFICATION_ID, notification);
这是我的LevelListDrawable
?xml version="1.0" encoding="utf-8"?>
level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/ic_stat_notify_0"
android:minLevel="0"
android:maxLevel="9"/>
<item android:drawable="@drawable/ic_stat_notify_10"
android:minLevel="10"
android:maxLevel="11"/>
<item android:drawable="@drawable/ic_stat_notify_20"
android:minLevel="20"
android:maxLevel="29"/>
<item android:drawable="@drawable/ic_stat_notify_30"
android:minLevel="30"
android:maxLevel="39"/>
<item android:drawable="@drawable/ic_stat_notify_40"
android:minLevel="40"
android:maxLevel="49"/>
<item android:drawable="@drawable/ic_stat_notify_50"
android:minLevel="50"
android:maxLevel="59"/>
<item android:drawable="@drawable/ic_stat_notify_60"
android:minLevel="60"
android:maxLevel="69"/>
<item android:drawable="@drawable/ic_stat_notify_70"
android:minLevel="70"
android:maxLevel="79"/>
<item android:drawable="@drawable/ic_stat_notify_80"
android:minLevel="80"
android:maxLevel="89"/>
<item android:drawable="@drawable/ic_stat_notify_90"
android:minLevel="90"
android:maxLevel="99"/>
<item android:drawable="@drawable/ic_stat_notify_100"
android:minLevel="100"
android:maxLevel="100"/>
</level-list>
答案 0 :(得分:1)
如果要在展开的通知列表中显示通知的某个图标,则应创建一个没有iconLevel的“普通”drawable通知,并且在第一次更新时,您可以设置另一个图标(ex-level ex。)并设置iconLevel。
用于更新状态栏中的图标
notification.icon = R.drawable.ic_stat_notify;
notification.iconLevel = 30;
manager.notify(NOTIFICATION_ID, notification);
调用notify()使更新可见是很重要的,除非重新创建通知,否则不会更新展开列表中的图标。
答案 1 :(得分:0)
这可能与此重复: android Notification setSmallIcon with level-list
这似乎是Android中的一个错误。使用级别列表更新通知时,状态栏图标会更新,但通知下拉列表中的图标不会更新。这里有报道:http://code.google.com/p/android/issues/detail?id=43179&q=setSmallIcon&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars