Je déteste être la troisième personne à poser cette question, mais les précédentes deuxquestions n'ont pas semblé y répondre complètement. Les directives de conception Android détaillent les boutons sans bordure , mais pas comment les fabriquer. Dans l'une des réponses précédentes, il y avait une suggestion à utiliser:
style="@Android:style/Widget.Holo.Button.Borderless"
Cela fonctionne bien pour un thème Holo, mais j'utilise aussi beaucoup Holo.Light et
style="@Android:style/Widget.Holo.Light.Button.Borderless"
Ne semble pas exister. Existe-t-il un moyen d'appliquer un style à de tels boutons sans bordure dans Holo.Light ou, mieux encore, d'appliquer simplement une balise sans bordure sans spécifier le thème auquel elle appartient, de sorte que l'application puisse choisir le style approprié au moment de l'exécution?
Holo.ButtonBar semble correspondre à ce que je cherche, sauf qu'il ne donne à aucun commentaire de la part de l'utilisateur.
En outre, existe-t-il un endroit dans la documentation qui répertorie les styles pouvant être appliqués et une description de ceux-ci? Peu importe combien je recherche et recherche dans la documentation, je ne trouve rien. Il y a juste une liste non descriptive si je fais un clic droit et édite le style.
Toute aide serait appréciée.
J'ai obtenu une réponse parfaite de javram et je voulais ajouter du code XML à toute personne intéressée par l'ajout des limites partielles que Google a adoptées.
Pour un diviseur horizontal, cela fonctionne très bien
<View
Android:id="@+id/horizontal_divider_login"
Android:layout_width="match_parent"
Android:layout_height="1dp"
Android:layout_marginLeft="8dp"
Android:layout_marginRight="8dp"
Android:background="@color/holo_blue" />
et ceci pour un vertical:
<View
Android:id="@+id/vertical_divider"
Android:layout_width="1dip"
Android:layout_height="match_parent"
Android:layout_marginBottom="8dp"
Android:layout_marginTop="8dp"
Android:background="@color/holo_blue" />
Découvrez ma réponse ici . En résumé, la solution correcte consiste à utiliser les éléments suivants:
Android:background="?android:attr/selectableItemBackground"
Ajoutez simplement l'attribut de style suivant dans votre balise Button
:
style="?android:attr/borderlessButtonStyle"
source: http://developer.Android.com/guide/topics/ui/controls/button.html#Borderless
Ce code va supprimer tout fond pour un bouton:
Android:background="@Android:color/transparent"
Au risque de frapper un cheval mort, voici une autre option (peut-être meilleure). AppCompat v7 définit un style de bouton sans bordure. Si vous utilisez déjà la bibliothèque AppCompat, procédez comme suit:
<Button Android:text="@string/borderlessButtonText" style="@style/Widget.AppCompat.Button.Borderless" />
Si n'importe qui cherche une solution légère pour obtenir le bouton sans frontière pour les API qui ne supportent pas le thème Holo (comme je le faisais depuis longtemps), je publie ma solution ci-dessous:
<View
Android:layout_height="1dp"
Android:layout_width="match_parent"
Android:background="#505154"
Android:layout_marginLeft="10dp" Android:layout_marginRight="10dp"/>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<Button
Android:id="@+id/btn_Reply"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_weight="1"
Android:background="@Android:color/transparent"
Android:paddingBottom="15dp" Android:paddingTop="15dp"
Android:textColor="#5c5966"
Android:text="@string/btnReplyText"/>
<View
Android:layout_height="fill_parent"
Android:layout_width="1dp"
Android:background="#505154"
Android:layout_marginBottom="7dp" Android:layout_marginTop="7dp"/>
<Button
Android:id="@+id/btn_Delete"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_weight="1"
Android:paddingBottom="15dp" Android:paddingTop="15dp"
Android:textColor="#5c5966"
Android:background="@Android:color/transparent"
Android:text="@string/btnDeleteText" />
<View
Android:layout_height="fill_parent"
Android:layout_width="1dp"
Android:background="#505154"
Android:text="@string/btnReplyText"
Android:layout_marginBottom="7dp" Android:layout_marginTop="7dp" />
<Button
Android:id="@+id/btn_Exit"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:layout_gravity="center"
Android:text="@string/btnExitText"
Android:paddingBottom="15dp" Android:paddingTop="15dp"
Android:textColor="#5c5966"
Android:background="@Android:color/transparent"/>
</LinearLayout>
Tout ce que vous avez à faire est de modifier les couleurs et le texte en fonction de votre propre arrière-plan. Bonne chance!