webentwicklung-frage-antwort-db.com.de

Konvertieren von Zeichenressourcenbildern in Bitmaps

Ich versuche, die Funktion Notification.Builder.setLargeIcon(bitmap) zu verwenden, die ein Bitmap-Bild aufnimmt. Ich habe das Bild, das ich verwenden möchte, in meinem Zeichenordner. Wie konvertiere ich das in eine Bitmap?

166
tyczj

Sie meinen wahrscheinlich Notification.Builder.setLargeIcon(Bitmap), richtig? :)

Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon);
notBuilder.setLargeIcon(largeIcon);

Dies ist eine großartige Methode, um Ressourcenbilder in Android Bitmaps zu konvertieren.

393
poitroae
Drawable myDrawable = getResources().getDrawable(R.drawable.logo);
Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();

Da API 22 getResources().getDrawable() veraltet ist, können wir die folgende Lösung verwenden.

Drawable vectorDrawable = VectorDrawableCompat.create(getResources(), R.drawable.logo,  getContext().getTheme());
Bitmap myLogo = ((BitmapDrawable) vectorDrawable).getBitmap();
43
AndyW
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);

Context kann Ihr aktuelles Activity sein.

13
aromero

Hier ist eine andere Möglichkeit, um Drawable-Ressourcen in Android in Bitmap umzuwandeln:

Drawable drawable = getResources().getDrawable(R.drawable.input);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
9
Ramkailash

Erstellen Sie zuerst ein Bitmap-Bild

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image);

jetzt Bitmap in Notification Builder Icon setzen.

Notification.Builder.setLargeIcon(bmp);
6
Ravi Makvana

Im Ordner res/drawable

1. Erstelle einen neuen Drawable Resources.

2. Dateiname eingeben.

Eine neue Datei wird im Ordner res/drawable Erstellt.

Ersetzen Sie diesen Code in der neu erstellten Datei und ersetzen Sie ic_action_back Durch Ihren Namen der zu zeichnenden Datei.

<bitmap xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:src="@drawable/ic_action_back"
    Android:tint="@color/color_primary_text" />

Jetzt können Sie es mit der Ressourcen-ID R.id.filename Verwenden.