In realtà sto cercando di utilizzare icone colorate nella mia app. Ho scaricato il pacchetto di icone del material design ufficiale da here. Ora tutte le icone di questo pacchetto sono bianche, grigie o nere. Ma voglio che le icone abbiano un colore diverso. Qualcosa come le icone sul lato sinistro in this image. Le icone del telefono e della posta sono blu. Come posso realizzare questo?È possibile modificare il colore dell'icona del design del materiale da xml in Android?
risposta
È un file .png. Ci sono molti editor di immagini là fuori. Devi solo riempire le parti
Puoi usare lo TintImageView
all'interno della libreria di supporto dell'appcompat e quindi colorare/colorare l'immagine è semplicemente chiamando lo android:backgroundTint
per colorare l'immagine in un unico colore.
XML
<TintImageView
android:layout_width=""
android:layout_height=""
android:src=""
android:backgroundTint="@color/green"/>
o
<ImageView
android:tint="the_color_you_want"/>
Programatically
ImageView yourImageView = findViewById(...) yourImageView.setColorFilter(Context.getColor(your_color_here))
Così il sopra XML colorare l'ImageView a colore verde, significa che esso colorare ciascun pixel imageview che sono visibili a verde.
se voglio cambiare l'icona sinistra | destra di Drawable per EditText TextView non c'è modo di farlo mi sento! * android: backgroundTint = "@ android: color/holo_blue_bright" * non funziona !! –
Poiché il file dell'icona è in formato .png, è necessario modificare il colore utilizzando lo strumento da cui è stata creata l'icona. e aggiungilo usando ImageAsset nel progetto.
Non ho creato il colore da solo. Sto usando le icone del pacchetto di icone ufficiale fornito da Google. Inoltre voglio sapere se è possibile farlo all'interno del codice stesso, – Akshay
beh non puoi cambiarlo usando il codice. ma questo url ti aiuterà sicuramente. http://goo.gl/a82Peu – satyapol
Stavo cercando la stessa cosa ma cambiarlo dinamicamente nel codice. Spero che questo aiuti qualcuno a cercare la stessa cosa.
Creare un ImageView per l'icona e utilizzare setColorFilter su quella vista.
ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
imageViewIcon.setColorFilter(getContext().getResources().getColor(R.color.blue));
ha funzionato per me !! – Nischal
Per cambiare icona di colore provare
<ImageButton
android:layout_width="your value"
android:layout_height="your value"
/* and so on ... */
android:tint="YourColor"
/>
Nota: il colore della tinta è dipinto ontop dell'immagine, non un colore di sostituzione. In questo modo, la tinta #80ff0000
su un'immagine nera ti dà il 50% di rosso sul nero, non il 50% di rosso sullo sfondo. Cioè questo non è equivalente alle immagini dei modelli iOS.
Benvenuti in Stack Overflow! Ti preghiamo di considerare di modificare il tuo post per aggiungere ulteriori spiegazioni su cosa fa il tuo codice e perché risolverà il problema. Una risposta che per lo più contiene solo codice (anche se funziona) di solito non aiuta l'OP a capire il loro problema. Si consiglia inoltre di non pubblicare una risposta se è solo un'ipotesi. Una buona risposta avrà una ragione plausibile per cui potrebbe risolvere il problema dell'OP. – SuperBiasedMan
<vector android:height="48dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#ca0f0f" android:pathData="M3,5v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2H5c-1.11,0 -2,0.9 -2,2zm12,4c0,1.66 -1.34,3 -3,3s-3,-1.34 -3,-3 1.34,-3 3,-3 3,1.34 3,3zm-9,8c0,-2 4,-3.1 6,-3.1s6,1.1 6,3.1v1H6v-1z"/>
</vector>
si cambia colore modificando Android: fillColor = "# ca0f0f"
Aggiungendo a ciò che ha detto Murali, effettuare più drawable con diversi colori di riempimento.
Poi, quando necessario, aggiungere al codice:
imageView.setImageResource(R.drawable.drawable_with_different_color)
NON
: imageView.setBackgroundResource()
Se supponiamo che l'icona debba essere mostrata in 200 colori diversi, allora potrai inserire 200 icone con colori diversi nel tuo drawable? –
Molte alternative già qui in questo thread.Forse posso aggiungere un altro per chi lo trova conveniente:
È inoltre possibile utilizzare la classe Drawable, il codice essendo come segue
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.ic_play_circle_filled);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, getResources().getColor(R.color.colorPrimary));
Anche se quanto sopra ha fatto il trucco per me, ma per il mio caso d'uso suggicient era quello di utilizzare android:tint
Come cambiare il materiale icona di colore in XML
<ImageButton
android:layout_width="YourValue"
android:layout_height="YourValue"
...
android:tint="YourColor" // this line do the magic
/>
Sì, è possibile ed è semplice utilizzando questa libreria: https://github.com/jrvansuita/IconHandler
Si può facilmente chiamare questo:
Icon.on(yourImageView).color(R.color.your_color).icon(R.mipmap.your_icon).put();
- 1. Modifica Android Altezza del materiale Colore dell'ombra
- 2. Divisore colore materiale Android
- 3. AngularJs Design del materiale Layout RTL
- 4. Modificare il colore del divisore in LinearLayout
- 5. Tastiera Android personalizzata con stile di design del materiale
- 6. Icona azione di notifica Android Dimensioni nel design del materiale
- 7. Come ottenere il colore principale del tema materiale in xml drawable?
- 8. Android: Come modificare il colore del testo di ProgressDialog?
- 9. Impossibile modificare il colore del pulsante di scelta su Android
- 10. design di materiale Android con AppCompatActivity
- 11. Come cambio il testo di ActionBar Design materiale?
- 12. Come modificare il colore del testo di IcsSpinner in ActionBarSherlock?
- 13. Come è possibile modificare il colore del carattere di un controllo abilitato per il tema?
- 14. colore per cento in Android per Material design
- 15. Qual è il design del pacchetto migliore?
- 16. design pulsante Materiale con bordo
- 17. Come modificare la dimensione del carattere e il colore del carattere da un file Java?
- 18. Come impostare il colore di sfondo del pulsante Android (normale + premuto) da Android xml
- 19. Come modificare il colore del bordo del modulo C#?
- 20. Posso visualizzare il disegno del materiale Snackbar nel dialogo?
- 21. Come modificare il colore del footer del pannello di bootstrap
- 22. Come modificare il colore del puntatore EditText (non il cursore)
- 23. Come è possibile modificare il colore di un layout di aggiornamento del tocco per ogni rotazione?
- 24. Jfreechart: è possibile modificare il colore della barra?
- 25. Come modificare il colore del testo/dei caratteri in reportlab.pdfgen
- 26. Il design del materiale di bootstrap non funziona correttamente con le viste angolari dinamiche
- 27. Come modificare il colore del testo in diversi frammenti
- 28. Impossibile modificare il colore del testo attivo su TabLayout
- 29. Android Paint setShadowLayer() ignora il colore del suo colore
- 30. Progettazione materiale Android
Hai provato qualcosa di simile a Android: background = "@ colore/rosso"? – 10101010
Poiché il file dell'icona è in formato .png, è necessario cambiare il colore usando lo strumento da cui hai creato l'icona. e aggiungilo usando ImageAsset nel progetto. – satyapol
@rajatIIT android: lo sfondo fa una casella rossa attorno all'icona e l'icona rimane di colore grigio. – Akshay