将可绘制的资源图像转换成位图
我正在尝试使用Notification.Builder.setLargeIcon(bitmap)
图图像的Notification.Builder.setLargeIcon(bitmap)
。 我有我想要在我的可绘制文件夹中使用的图像,所以如何将其转换为位图?
你可能是指Notification.Builder.setLargeIcon(Bitmap)
,对不对? 🙂
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon); notBuilder.setLargeIcon(largeIcon);
这是将资源图像转换为Android Bitmap
的一个好方法。
Drawable myDrawable = getResources().getDrawable(R.drawable.logo); Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
由于API 22 getResources().getDrawable()
已被弃用,所以我们可以使用以下解决scheme。
Drawable vectorDrawable = ResourcesCompat.getDrawable(context.getResources(), R.drawable.logo, null); Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);
Context
可以是您当前的Activity
。
这里是另一种在android中将Drawable资源转换成位图的方法:
Drawable drawable = getResources().getDrawable(R.drawable.input); Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
首先创build位图图像
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image);
现在在通知生成器图标中设置位图…
Notification.Builder.setLargeIcon(bmp);
在res/drawable
文件夹中,
1.创build一个新的Drawable Resources
。
2.input文件名称。
在res/drawable
文件夹中将创build一个新文件。
在新创build的文件中replace此代码,并用您的可绘制文件名replaceic_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
。