【问题标题】:How to find actual size of small notification icon at run time?如何在运行时找到小通知图标的实际大小?
【发布时间】:2020-02-28 21:05:47
【问题描述】:
我知道对于不同屏幕 DPI 的小通知图标有一个不同尺寸的列表,如 here 所示。在为应用程序准备一组静态图标文件时了解这一点很有用。
但我需要使用来自Notification.Builder 的setSmallIcon(Icon) 动态创建一个图标。对于大图标,我可以调用例如getResources().getDimensionPixelSize(android.R.dimen.notification_large_icon_width) 和类似的高度以获得精确的数值。我怎样才能为小图标做同样的事情?
【问题讨论】:
标签:
android
android-notifications
android-icons
【解决方案1】:
小图标的大小为 24 dp。您可以在运行时以 px 为单位计算实际大小。
科特林:
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)