web-dev-qa-db-fra.com

Couleur de la bordure sur Android

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>
22
heyred

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" 
/>
33
shivang Trivedi

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>
9
madhu sudhan

Vous pouvez utiliser ce générateur de boutons en ligne pour personnaliser votre bouton http://angrytools.com/Android/button/

6
JRE.exe

enter image description here

<?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

5
Dhina k

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>
0
Captain Sponge

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'
0
Ranjith Kumar