J'ai remarqué que changer la couleur d'arrière-plan d'un widget Android (myButton.setBackgroundColor(Color.BLUE);
3 Réponses :
Les coins arrondis, les effets d'ombre, etc. sont souvent accomplis dans Android en utilisant des images. Voir cette Documentation de développeur pour une explication de la manière dont cela fonctionne. p>
Un widget peut avoir une image d'image ou une couleur de couleur unie. Donc, en réglant la couleur d'arrière-plan, vous remplacez l'image d'arrière-plan. Si vous souhaitez modifier la couleur sans perdre tout le reste, vous devez modifier les fichiers image. P>
Depuis l'arrière-plan est un dessinable, vous pouvez modifier le digilable pour modifier la couleur:
myButton.getBackground().setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
Vous pourriez également avoir besoin d'invalider () afin de le forcer à redessiner.