2012-01-03 15 views

risposta

364

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.

+2

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

+1

Non penso che sia giusto _una risposta generale_ - almeno non da quando Android ha iniziato a supportare i drawable vettoriali. –

+0

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

12
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.my_drawable); 

Context può essere il vostro attuale Activity.

+2

e per i drawable vettoriali? –

42
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(); 
+1

Mi dice che bitmapDrawable non può essere risolto con un tipo –

+0

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

+0

Basta premere ctrl + MAIUSC + O se si sta ricevendo non può essere risolto a un digita per bitmapDrawable. Saluti! – portfoliobuilder

8

Ecco un altro modo per convertire risorsa Drawable in bitmap in Android:

Drawable drawable = getResources().getDrawable(R.drawable.input); 
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap(); 
+2

Qual è la tua differenza rispetto alla soluzione AndyW? è lo stesso! –

5

prima creare un'immagine bitmap

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

ora impostato bitmap nella Notifica Builder Icona ....

Notification.Builder.setLargeIcon(bmp); 
0

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.

Problemi correlati