Ho bisogno di creare un semplice oggetto Drawable
con il colore necessario come colore di sfondo, ma non so come posso farlo a livello di codice senza utilizzare uno schema XML (è davvero possibile?). Per favore, dimmi, ne ho bisogno per fare un LayerDrawable
e lavorare con SeekBar
(cambiare lo sfondo di SeekBar
a livello di programmazione). Grazie in anticipo.Come creare un Drawable con il colore di sfondo necessario a livello di programmazione?
risposta
Si dovrebbe provare a utilizzare un ColorDrawable. Può essere costruito con un colore usando il costruttore ColorDrawable(int color)
ColorDrawable ti sarà utile nel tuo caso, puoi passare il parametro color per il tuo drawable.
o si può fare qualcosa di simile di seguito:
ImageView imgStatus = (ImageView) findViewById(R.id.imgInfoIcon);
// Load the icon as drawable object
Drawable d = getResources().getDrawable(R.drawable.ic_menu_info_details);
// Get the color of the icon depending on system state
int iconColor = android.graphics.Color.BLACK
if (systemState == Status.ERROR)
iconColor = android.graphics.Color.RED
else if (systemState == Status.WARNING)
iconColor = android.graphics.Color.YELLOW
else if (systemState == Status.OK)
iconColor = android.graphics.Color.GREEN
// Set the correct new color
d.setColorFilter(iconColor, Mode.MULTIPLY);
// Load the updated drawable to the image viewer
imgStatus.setImageDrawable(d);
sopra il codice è originariamente pubblicato here
Grazie. Ma per favore, dimmi, come posso impostare Id per Drawable? Devo impostare "android: id/background" per un nuovo drawable – user1841247
in questo modo non è possibile in fase di esecuzione, è meglio creare la funzione passare l'id della vista e impostare il colore appropriato per la visualizzazione. – RobinHood
Come è suggerito da @Thrakbad, è possibile utilizzare ColorDrawable
:
TextView textView = new TextView(this);
ColorDrawable colorDrawable = new ColorDrawable(0xFFFF0000);
textView.setBackgroundDrawable(colorDrawable);
- 1. Acquisizione del colore di sfondo UIKeyboard a livello di programmazione
- 2. Come cambiare il colore di sfondo della finestra di dialogo a livello di programmazione?
- 3. Come creare un modulo di Windows a livello di programmazione?
- 4. Come creare un punto di accesso a livello di programmazione
- 5. Come creare un banner admob a livello di programmazione?
- 6. Impostazione sfondo Modalità azione a livello di programmazione
- 7. Ottieni il colore del macbook/dispositivo a livello di programmazione
- 8. Come creare un menu a livello di programmazione in Android?
- 9. Come creare un UIScrollView a livello di programmazione?
- 10. Come creare un modulo Dojo dijit a livello di programmazione
- 11. Colore tema Windows 8: accesso a livello di programmazione
- 12. Come ottenere a livello di programmazione il livello audio corrente?
- 13. Lollipop - Variabile di colore ProgressBar indeterminato - A livello di programmazione
- 14. Come creare o modificare a livello di codice un drawable fatto di linee di colori diversi
- 15. Mocha: creare e finalizzare il test a livello di programmazione
- 16. Uso di shape drawable come sfondo xml
- 17. Creare un progetto Visual Studio a livello di programmazione
- 18. Modifica del colore della tinta di Android EditText a livello di programmazione
- 19. Creare un annuncio nativo Admob a livello di programmazione
- 20. Android affiancato a livello di codice dell'immagine come sfondo
- 21. Modifica dello sfondo su Linux a livello di programmazione
- 22. Come cambiare il colore di sfondo FAB
- 23. quale stile/attr/drawable per sfondo inverso?
- 24. Come cambiare il colore di sfondo attorno a un DialogFragment?
- 25. Imposta dimensioni disegnabili a livello di programmazione
- 26. Come configurare ELMAH a livello di programmazione?
- 27. Android: come creare un GridLayout [non GridView] a livello di programmazione?
- 28. creazione di uiview a livello di programmazione?
- 29. Android GLSurfaceView con sfondo drawable
- 30. colore di sfondo Change Toolbar di programmazione non cambia Toolbar Titolo sfondo di colore
Grazie . Ma per favore, dimmi, come posso impostare Id per Drawable? Devo impostare "android: id/background" per un nuovo drawable – user1841247
Non capisco cosa stai cercando di fare. Per cosa ti serve l'id? Puoi semplicemente aggiungere 'ColorDrawable' al tuo' LayerDrawable' usando il costruttore 'LayerDrawable (Drawable [] layers)'. Non hai bisogno di alcun ID per ColorDrawable. L'id del livello può quindi essere impostato con 'LayerDrawable.setId (int index, int id)' – Thrakbad