3

我試圖在通知欄上顯示一個圖標。 該圖標是一個LevelListDrawable,它可以通過設置級別來更改內容。 問題是我無法將級別設置爲通知中的圖標。 我曾嘗試使用「Notification.icon」和「Notification.iconLevel」,但它不起作用。在通知欄上顯示LevelListDrawable

這是我的代碼片段。誰能看到有什麼問題?

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

請問您可以發佈您的級別列表xml嗎? – 2012-03-08 06:12:21

+2

我發現狀態欄上的圖標與級別正確。但是在抽屜中的通知視圖中不正確。 – Dennis 2012-03-08 14:36:39

回答

1

如果你想顯示在展開的通知列表通知一定的圖標,你應該不iconLevel和「正常」繪製創建通知第一次更新,你可以設置另一個圖標(級別列表前),並設置iconLevel。

在狀態欄中

notification.icon = R.drawable.ic_stat_notify; 
    notification.iconLevel = 30; 
    manager.notify(NOTIFICATION_ID, notification); 

更新圖標,它調用notify()進行更新可見的,並且不會在更新展開的列表中的圖標,除非您重建通知是很重要的。