web-dev-qa-db-fra.com

Modifier la couleur du bouton d'action flottant à partir d'Appcompat 22.2.0 par programme

J'aimerais savoir comment changer la couleur du bouton d'action flottant à partir de la bibliothèque de support 22.2.0? J'ai essayé 

button.setBackgroundColor(color);

mais évidemment, cela modifie le dessin du bouton et se transforme en carré.

Maintenant, je me demande comment changer la couleur mais juste la couleur, sans toucher à la forme?

Merci d'avance

23
user2410644

Peut-être tard mais pourrait aider. 

 fab.setBackgroundTintList(ColorStateList.valueOf(Color
                    .parseColor("#33691E")));

et analyser le code de couleur dans une liste de couleurs Vous pouvez trouver ici

34
Olu Smith

Créez une ColorStateList et définissez-la comme teinte de fond:

button.setBackgroundTintList(new ColorStateList(new int[][]{new int[]{0}}, new int[]{color}));
31
tachyonflux

vous devez utiliser 

  • en XML avec attribute app:backgroundTint
  • in code with .setBackgroundTintList lire cette réponse 

Android change de couleur de bouton d'action flottante

11
Saeed Darvish

Créez une ressource de couleur dans colors.xml (R.color.purple dans ce cas) et utilisez-la comme suit:

floatingActionButton.setBackgroundTintList(getResources().getColorStateList(R.color.purple));
10
Adam Johns

Méthode 1: Changer la couleur de la barre d'action flottante (fab) en xml:

Pour changer la couleur de la barre d’action flottante, suivez cette étape.

ajoutez simplement "app: backgroundTint =" # colorcode "" au xml de la barre d’action flottante (fab) .. Par exemple

app:backgroundTint="#8393ca"

à la place de # 8393ca, ajoutez le code de couleur de votre choix

Exemple comme usaage ..

<Android.support.design.widget.FloatingActionButton
    Android:id="@+id/fab"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="bottom|end"
    Android:layout_margin="@dimen/fab_margin"
    app:backgroundTint="#8393ca"
    Android:src="@drawable/send" />

Méthode 2: Modifier la couleur de la barre d'action flottante par programmation

il suffit d'ajouter cette ligne sur votre code

Créez d’abord une couleur rouge dans vos valeurs => couleurs puis ajoutez ce code dans votre activité sur create

fab.setBackgroundTintList(getResources().getColorStateList(R.color.red));

                                or

fab.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#33691E")));

crédits: http://androidrace.com/2016/12/12/how-to-change-fabfloating-action-bar-color-Android/

9
Afjalur Rahman Rana

Vérifiez la réponse acceptée ici: Android change Floating Action Button color

Si vous souhaitez changer de couleur

  • en XML avec l'attribut app: backgroundTint
  • dans le code avec .setBackgroundTintList
6
Louis CAD

Pour ce faire, compatible avec les versions antérieures:

DrawableCompat.setTintList(DrawableCompat.wrap(fab.getDrawable()), tintColor); // <- icon
DrawableCompat.setTintList(DrawableCompat.wrap(fab.getBackground()), backgroundTintColor); // <- background
6
Ralph Pina

si vous utilisez la bibliothèque de boutons d'action flottante de https://github.com/Clans/FloatingActionButton utilisez-la

fab.setColorNormal(getResources().getColor(R.color.fab_color1));
1
Maurice

Essayez ce code. Cela ajoutera une teinte à la ressource en arrière-plan.

button.setBackgroundTintList(getResources().getColorStateList(R.color.yourColor));
0
Ankit Suda

il suffit d'utiliser cette ligne dans votre fichier xml sous le bouton d'action flottante

Android:backgroundTint="#96989A"
0
Makvin