Je change la propriété de l'arrêtTintList de mon bouton avec la ligne suivante.
ColorStateList buttonBackgroundTint = myButton.getBackgroundTintList();
3 Réponses :
Je n'ai trouvé aucun moyen de le faire facilement. Le seul moyen que je puisse accomplir votre objectif était de tenir à l'arrière-plan d'origine diguable code>, de créer un clone de celui-ci, de teinter manuellement le clone, puis d'échanger entre ces nouveaux tiroirs. private Drawable original;
private Drawable tinted;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
this.original = button.getBackground();
this.tinted = button.getBackground().getConstantState().newDrawable().mutate();
ColorStateList custom = getResources().getColorStateList(R.color.my_button, getTheme());
tinted.setTintList(custom);
...
}
Vous pouvez essayer cette ligne: si vous souhaitez modifier la couleur du bouton de la couleur par défaut / originale. P> P>
Cela répond techniquement à ma question, alors merci. Je vais continuer à chercher une solution générique bien que la teinte par défaut est différente de celle-ci, la constante de couleur est à nouveau différente.
Je viens de créer un nouveau bouton code> CODE> et obtenez BackgroundTintList CODE> actionSearch.backgroundTintList = MaterialButton(requireContext()).backgroundTintList
Essayez de définir la couleur de fond du bouton sur 0