gpt4 book ai didi

android - 在通知栏上显示 LevelListDrawable

转载 作者:太空狗 更新时间:2023-10-29 14:28:19 24 4
gpt4 key购买 nike

我想在通知栏上显示一个图标。该图标是一个 LevelListDrawable,可以通过设置级别来更改内容。问题是我无法为通知中的图标设置级别。我已尝试使用“Notification.icon”和“Notification.iconLevel”,但它不起作用。

这是我的代码 fragment 。谁能看出哪里出了问题?

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>

最佳答案

如果你想在扩展的通知列表中显示通知的某个图标,你应该用一个没有 iconLevel 的“普通”可绘制对象创建通知,并且在第一次更新时你可以设置另一个图标(一个级别列表例如)并设置 iconLevel。

用于更新状态栏中的图标

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

重要的是调用 notify() 使更新可见,并且不会更新展开列表中的图标,除非您重新创建通知。

关于android - 在通知栏上显示 LevelListDrawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9613396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com