Sto cercando di utilizzare lo Notification.Builder.setLargeIcon(bitmap)
che acquisisce un'immagine bitmap. Ho l'immagine che voglio usare nella mia cartella drawable, quindi come posso convertirla in bitmap?conversione dell'immagine risorsa drawable in bitmap
risposta
Probabilmente si intende Notification.Builder.setLargeIcon(Bitmap)
, giusto? :)
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.large_icon);
notBuilder.setLargeIcon(largeIcon);
Questo è un ottimo metodo per convertire le immagini di risorse in Android Bitmap
s.
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable);
Context
può essere il vostro attuale Activity
.
e per i drawable vettoriali? –
Drawable myDrawable = getResources().getDrawable(R.drawable.logo);
Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
Poiché API 22 getResources().getDrawable()
è deprecato, quindi è possibile utilizzare la seguente soluzione.
Drawable vectorDrawable = ResourcesCompat.getDrawable(context.getResources(), R.drawable.logo, null);
Bitmap myLogo = ((BitmapDrawable) myDrawable).getBitmap();
Mi dice che bitmapDrawable non può essere risolto con un tipo –
Ciao @ 20Cents hai provato http: // StackOverflow.it/questions/18218938/why-does-it-say-bitmap-non può essere-risolto-in-un-tipo-in-questo-caso – AndyW
Basta premere ctrl + MAIUSC + O se si sta ricevendo non può essere risolto a un digita per bitmapDrawable. Saluti! – portfoliobuilder
Ecco un altro modo per convertire risorsa Drawable in bitmap in Android:
Drawable drawable = getResources().getDrawable(R.drawable.input);
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
Qual è la tua differenza rispetto alla soluzione AndyW? è lo stesso! –
prima creare un'immagine bitmap
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image);
ora impostato bitmap nella Notifica Builder Icona ....
Notification.Builder.setLargeIcon(bmp);
In Cartella res/drawable
,
1. Creare un nuovo Drawable Resources
.
2. Nome file di input.
Un nuovo file verrà creato all'interno della cartella res/drawable
.
Sostituire questo codice all'interno del file appena creato e sostituire ic_action_back
con il nome del file drawable.
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_action_back"
android:tint="@color/color_primary_text" />
Ora è possibile utilizzarlo con ID risorsa, R.id.filename
.
Perché non premere il pulsante "Modifica" e correggere la domanda? (Più un suggerimento per il futuro - L'ho già fatto per questo ... Suggerirei di modificare la tua risposta per non criticare i loro refusi. Non lo sto facendo per te.) Su un'altra nota, +1 per avere un risposta operativa :) – ArtOfWarfare
Non penso che sia giusto _una risposta generale_ - almeno non da quando Android ha iniziato a supportare i drawable vettoriali. –
dopo aver implementato la soluzione sto ricevendo questo ... '... E/CommitToConfigurationOperation: Token di istantanee non valido (dimensioni): ... E/NotificationService: Not posting notification with icon == 0: Notification (pri = 0 contentView = null vibrate = null audio = contenuto: // settings/system/notification_sound defaults = 0x0 flags = 0x10 color = 0x00000000 vis = PRIVATE) ... E/NotificationService: ATTENZIONE: in una versione futura questo bloccherà l'app : ... ' – Bhuro