Je suis nouveau dans la programmation Android. Comment changer la couleur d'un bouton?
<Button
Android:id="@+id/btn"
Android:layout_width="55dp"
Android:layout_height="50dp"
Android:layout_gravity="center"
Android:text="Button Text"
Android:paddingBottom="20dp"/>
Vous pouvez changer la couleur de deux manières. par XML ou par codage. Je recommanderais XML car il est plus facile à suivre pour les débutants.
XML:
<Button
Android:background="@Android:color/white"
Android:textColor="@Android:color/black"
/>
Vous pouvez également utiliser des valeurs hexadécimales ex.
Android:background="@Android:color/white"
Codage:
//btn represents your button object
btn.setBackgroundColor(Color.WHITE);
btn.setTextColor(Color.BLACK);
Pour la couleur text, ajoutez:
Android:textColor="<hex color>"
Pour la couleur de fond , ajoutez:
Android:background="<hex color>"
Depuis API 21, vous pouvez utiliser:
Android:backgroundTint="<hex color>"
Android:backgroundTintMode="<mode>"
Remarque: Si vous utilisez Android/Java, vous devez vraiment apprendre à utiliser Google;)
Comment personnaliser différents boutons dans Android
Voici mon code, pour créer différentes couleurs sur les boutons, et disposition linéaire, présentation par contrainte et défilement
Tout d’abord, vous devez créer un fichier custom_button.xml sur votre dessin.
Custom_Button.xml Code
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_pressed="true" Android:drawable="@color/red"/> <!-- pressed -->
<item Android:state_focused="true" Android:drawable="@color/blue"/> <!-- focused -->
<item Android:drawable="@color/black"/> <!-- default -->
</selector>
Deuxièmement, allez à res
Couleurs.xml Code
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="black">#000</color>
<color name="Violet">#9400D3</color>
<color name="Indigo">#4B0082</color>
<color name="blue">#0000FF</color>
<color name="green">#00FF00</color>
<color name="yellow">#FFFF00</color>
<color name="orange">#FF7F00</color>
<color name="red">#FF0000</color>
</resources>
Captures d'écran ci-dessous
Par la programmation:
btn.setBackgroundColor(getResources().getColor(R.color.colorOffWhite));
et votre colors.xml doit contenir ...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorOffWhite">#80ffffff</color>
</resources>