J'essaye de créer un bouton qui ressemble à l'image ci-dessus. Au départ, mon idée était de créer un patch 9 et de le définir comme arrière-plan du bouton. Mais comme il s'agit d'un bouton simple, je pense que nous pouvons en quelque sorte le dessiner sans utiliser d'images.
La couleur d'arrière-plan du bouton est # 0c0c0c La couleur de la bordure est # 1a1a1a La couleur du texte est #cccccc
J'ai trouvé une question similaire sur SO mais cela crée un dégradé -
Android - bordure du bouton
Le Android Developer's Guide a un guide détaillé à ce sujet: Shape Drawbables .
Vous pouvez également simplement supprimer l'élément gradient
du lien que vous avez fourni:
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="3dp" />
<stroke Android:width="5px" Android:color="#1a1a1a" />
</shape>
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_above="@+id/textView1"
Android:layout_alignLeft="@+id/textView1"
Android:layout_marginBottom="56dp"
Android:text="Button"
Android:textColor="#FF0F13"
Android:background="@drawable/bbkg"/>//create bbkg.xml in drawable folder
bbkg.xml // arrière-plan du bouton
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_pressed="true"
Android:drawable="@drawable/pressed" />
<item Android:state_focused="false"
Android:drawable="@drawable/normal" />
</selector>
normal.xml // état normal de l'arrière-plan du bouton
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<solid Android:color="#10EB0A"/>
<stroke Android:width="3dp"
Android:color="#0FECFF" />
<padding Android:left="5dp"
Android:top="5dp"
Android:right="5dp"
Android:bottom="5dp"/>
<corners Android:bottomRightRadius="7dp"
Android:bottomLeftRadius="7dp"
Android:topLeftRadius="7dp"
Android:topRightRadius="7dp"/>
</shape>
pressé.xml // état du fond du bouton enfoncé
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<solid Android:color="#FF1A47"/>
<stroke Android:width="3dp"
Android:color="#0FECFF"/>
<corners Android:bottomRightRadius="7dp"
Android:bottomLeftRadius="7dp"
Android:topLeftRadius="7dp"
Android:topRightRadius="7dp"/>
</shape>
Si tu veux quelque chose comme ça
Aperçu du bouton
voici le code.
Créez un fichier xml dans votre dossier pouvant être dessiné comme mybutton.xml et collez le balisage suivant:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item Android:state_pressed="true" >
<shape Android:shape="rectangle" >
<corners Android:radius="3dip" />
<stroke Android:width="1dip" Android:color="#5e7974" />
<gradient Android:angle="-90" Android:startColor="#345953" Android:endColor="#689a92" />
</shape>
</item>
<item Android:state_focused="true">
<shape Android:shape="rectangle" >
<corners Android:radius="3dip" />
<stroke Android:width="1dip" Android:color="#5e7974" />
<solid Android:color="#58857e"/>
</shape>
</item>
<item >
<shape Android:shape="rectangle" >
<corners Android:radius="3dip" />
<stroke Android:width="1dip" Android:color="#5e7974" />
<gradient Android:angle="-90" Android:startColor="#8dbab3" Android:endColor="#58857e" />
</shape>
</item>
</selector>
Utilisez maintenant ce dessin pour l'arrière-plan de votre vue. Si la vue est un bouton, quelque chose comme ceci:
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:padding="10dp"
Android:textColor="#ffffff"
Android:background="@drawable/mybutton"
Android:text="Buttons" />