0
votes

Comment définir l'arrière-plan d'un bouton d'un bouton sur défaut?

Je change la propriété de l'arrêtTintList de mon bouton avec la ligne suivante.

ColorStateList buttonBackgroundTint = myButton.getBackgroundTintList();


1 commentaires

Essayez de définir la couleur de fond du bouton sur 0


3 Réponses :


2
votes

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);

    ...
}


0 commentaires

3
votes

Vous pouvez essayer cette ligne: xxx

si vous souhaitez modifier la couleur du bouton de la couleur par défaut / originale.


1 commentaires

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.



0
votes

Je viens de créer un nouveau bouton code> CODE> et obtenez BackgroundTintList CODE>

actionSearch.backgroundTintList = MaterialButton(requireContext()).backgroundTintList


0 commentaires