android - 如何在运行时找到小通知图标的实际大小?

标签 android android-notifications android-icons

我知道有一个针对不同屏幕 DPI 的小通知图标的不同尺寸列表,如图所示 here .在为应用程序准备一组静态图标文件时了解这一点很有用。

但我需要使用 Notification.Builder 中的 setSmallIcon(Icon) 动态创建图标。对于大图标,我可以调用例如getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_width) 和高度类似以获得精确的数值。我怎样才能为小图标做同样的事情?

最佳答案

小图标的大小为 24 dp。您可以在运行时以像素为单位计算实际大小。

Kotlin :

val smallIconSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24f, resources.displayMetrics)

Java:

float smallIconSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics())

如果您没有上下文(使用 getResources),您可以使用它作为后备:

val smallIconSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24f, Resources.getSystem().displayMetrics)

关于android - 如何在运行时找到小通知图标的实际大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678341/

相关文章:

android - 升级时创建表

android - 检测或估计 Android 上的蓝牙延迟(音频播放)

java - 是否可以在通知窗口(Android)上制作动画图标

android - 如何仅在应用程序处于前台而不是从通知中捕获辅助功能事件?

android - 更改默认系统应用程序图标

java - 将数据从 Activity 传递到 Fragment Class Cast Exception

php - 在 Android 中将新数据添加到数据库后更新 ListView

Android获取当前歌曲播放和歌曲更改事件,如Musixmatch

android - 在构建时排除文件夹 Intel XDK

android 图标错误 - 没有看到文件夹?