J'ai créé un bouton et j'ai défini la couleur d'arrière-plan et la couleur du texte comme indiqué ci-dessous. Ma question est: comment définir la couleur de la bordure des boutons? Je veux définir la couleur de la bordure sur blanc
Voici le bouton dans mon res -> layout -> main_nav.xml
<Button
Android:id="@+id/btn_emergency"
style="@style/buttonStyle"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:text="Contact and Emergency"
Android:onClick="onClickHandleStates" />
Et voici son style associé dans res -> values -> styles
. Les 2 premiers "articles" fonctionnent bien seuls. Le dernier "élément" était ma tentative de changer la bordure du bouton en blanc sans succès.
<!-- The button styles -->
<style name="buttonStyle">
<item name="Android:textColor">#ffffff</item>
<item name="Android:background">#80000000</item>
<item name="Android:button">
<shape
Android:shape="rectangle" >
<stroke
Android:width="0.5dp"
Android:color="#ffffff" />
</shape>
</item>
</style>
Utilisez le <stroke>
élément. Ajoutez ce fichier xml dans le dossier res/drawable en tant que button_border.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<gradient Android:startColor="#FFFFFF"
Android:endColor="#00FF00"
Android:angle="270" />
<corners Android:radius="3dp" />
<stroke Android:width="5px" Android:color="#ffffff" />
</shape>
puis appelez cela par
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_margin="10dp"
Android:background="@drawable/button_border"
Android:text="Button"
/>
Essaye ça
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<corners Android:radius="1dp" />
<stroke
Android:width="2px"
Android:color="#ffffff" />
</shape>
Vous pouvez utiliser ce générateur de boutons en ligne pour personnaliser votre bouton http://angrytools.com/Android/button/
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<gradient
Android:angle="270"
Android:endColor="#E8f2fe"
Android:startColor="#E8f2fe" />
<corners Android:radius="3dp" />
<stroke
Android:width="2px"
Android:color="#486e9d" />
pour plus d'informations http://androiddhina.blogspot.in/2015/09/border-color-on-Android-button.html
Si vous souhaitez un fond transparent pour votre bouton, utilisez la réponse de Shivang Trivedi mais supprimez la section "dégradé" comme suit:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="3dp" />
<stroke Android:width="5px" Android:color="#ffffff" /> </shape>
bouton essayer le matériau
Définissez app: strokeWidth, app: strokeColor selon vos besoins
<com.google.Android.material.button.MaterialButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:strokeWidth="0.6dp"
app:cornerRadius="2dp"
Android:text="Reassign"
Android:textColor="@color/colorAccent"
app:strokeColor="@color/colorAccent"
/>
Remarque: vous devez ajouter une dépendance pour les widgets de matériaux
//Material Components for Android
implementation 'com.google.Android.material:material:1.0.0'