我试图使用的 Notification.Builder.setLargeIcon(bitmap)采取一个位图图像。我有我想在我的绘图文件夹中使用的图像,那么我如何将其转换为位图呢?
Notification.Builder.setLargeIcon(bitmap)
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);
Context可以是你当前的 Activity。
Context
Activity
你可能是指 Notification.Builder.setLargeIcon(Bitmap),对吗? :)
Notification.Builder.setLargeIcon(Bitmap)
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon); notBuilder.setLargeIcon(largeIcon);
这是将资源图像转换为 Android Bitmap的一个很好的方法。
Bitmap
Drawable myDrawable = getResources().getDrawable(R.drawable.logo); Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
由于不推荐使用 API 22 getResources().getDrawable(),因此我们可以使用以下解决方案。
getResources().getDrawable()
Drawable vectorDrawable = VectorDrawableCompat.create(getResources(), R.drawable.logo, getContext().getTheme()); Bitmap myLogo = ((BitmapDrawable) vectorDrawable).getBitmap();
下面是在 android 中将 Drawable 资源转换为 Bitmap 的另一种方法:
Drawable drawable = getResources().getDrawable(R.drawable.input); Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
首先创建位图图像
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image);
现在在 NotificationBuilderIcon 中设置位图... 。
Notification.Builder.setLargeIcon(bmp);
在 res/drawable文件夹中,
res/drawable
1. 创建一个新的 Drawable Resources。
Drawable Resources
输入文件名。
将在 res/drawable文件夹中创建一个新文件。
在新创建的文件中替换这段代码,并用可绘制的文件名替换 ic_action_back。
ic_action_back
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/ic_action_back" android:tint="@color/color_primary_text" />
现在,您可以将它与资源 ID R.id.filename一起使用。
R.id.filename
如果有人正在为大图标寻找 Kotlin 版本,您可以使用这个
val largeIcon = BitmapFactory.decodeResource(context.resources, R.drawable.my_large_icon)