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