Comment créer des boutons Borderless dans Android [dupliquer]
cette question a déjà une réponse ici:
- comment créer des boutons standard Borderless (comme dans les lignes directrices mentionnées)? 19 réponses
Le Android "instructions de Conception 151980920" dis à utiliser sans bordure des boutons (voir photo ci-dessous), mais ne pas vraiment expliquer comment. Quelqu'un a posé la même question il y a quelques semaines ici: comment créer des boutons standard Borderless (comme dans le design guidline mentionné)? et il y avait une réponse marquée comme "la" réponse, mais je suis toujours perdu et je ne vois pas d'ajouter des commentaires à une question qui a été "fermé"
La réponse-er dit
"Regarder dans le thème attributs
buttonBarStyle,buttonBarButtonStyle, etborderlessButtonStyle"
mais je ne sais toujours pas comment utiliser ces choses. J'ai cherché un peu sur Google et je n'ai rien trouvé donc j'ai pensé que je pourrais poser la question à nouveau, et j'espère que quelqu'un peut fournir un peu plus de détails sur la façon dont cela fonctionne.
    
      
8 réponses
j'ai pensé que j'avais résolu cela quand j'ai regardé ici il y a quelques semaines et j'ai remarqué la réponse à propos de l'utilisation d'un fond transparent, mais ce n'est pas tout à fait suffisant parce qu'il empêche le bouton d'être mis en évidence lorsqu'il est pressé.
 aussi, mettre le style à Widget.Holo.Button.Borderless  n'est pas approprié parce qu'il rend les limites de bouton à grand.  
pour comprendre cela une fois pour toutes, je vérifie le code source android pour l'application Calendrier standard et trouvé qu'il utilise le suivant:
android:background="?android:attr/selectableItemBackground"
le fait de cette façon assure que le bouton est sans frontières et la taille correcte.
regardez ça: http://developer.android.com/guide/topics/ui/controls/button.html#Borderless
  l'attribut sur votre Button ou ImageButton étiquette: 
    style="?android:attr/borderlessButtonStyle"
si vous utilisez ActionbarSherlock...
<Button 
  android:id="@+id/my_button" 
  style="@style/Widget.Sherlock.ActionButton" />
il y a quelques jours encore une fois.
voici ma solution:
cela se fait en 2 étapes: le réglage de l'attribut de fond de bouton à android:attr/selectablitembackground vous crée un bouton avec la rétroaction, mais pas d'arrière-plan.
android:background="?android:attr/selectableItemBackground"
la ligne pour diviser le bouton borderless du reste de vous layout est fait par une vue avec l'arrière-plan android: attr / dividerVertical
android:background="?android:attr/dividerVertical"
pour une meilleure compréhension voici une mise en page pour une combinaison de boutons OK / Cancel borderless en bas de votre écran (comme dans l'image de droite ci-dessus).
<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignParentBottom="true">
        <View
            android:layout_width="match_parent"
            android:layout_height="1dip"
            android:layout_marginLeft="4dip"
            android:layout_marginRight="4dip"
            android:background="?android:attr/dividerVertical"
            android:layout_alignParentTop="true"/>
        <View
            android:id="@+id/ViewColorPickerHelper"
            android:layout_width="1dip"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="4dip"
            android:layout_marginTop="4dip"
            android:background="?android:attr/dividerVertical" 
            android:layout_centerHorizontal="true"/>
        <Button
            android:id="@+id/BtnColorPickerCancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/ViewColorPickerHelper"
            android:background="?android:attr/selectableItemBackground"
            android:text="@android:string/cancel" 
            android:layout_alignParentBottom="true"/>
        <Button
            android:id="@+id/BtnColorPickerOk"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:background="?android:attr/selectableItemBackground"
            android:text="@android:string/ok" 
            android:layout_alignParentBottom="true" 
            android:layout_toRightOf="@id/ViewColorPickerHelper"/>
    </RelativeLayout>
ce code fonctionne pour moi:
<View
    android:layout_width="match_parent"
    android:layout_height="1dip"
    android:background="?android:attr/dividerVertical" />
<LinearLayout
    style="?android:attr/buttonBarStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:measureWithLargestChild="true"
    android:orientation="horizontal"
    android:paddingLeft="2dip"
    android:paddingRight="2dip"
    android:paddingTop="0dip" >
    <Button
        android:id="@+id/cancel"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="onClickCancel"
        android:text="@string/cancel" />
     <Button
        android:id="@+id/info"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="onClickInfo"
        android:visibility="gone"
        android:text="@string/info" />
    <Button
        android:id="@+id/ok"
        style="?android:attr/buttonBarButtonStyle"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="onClickSave"
        android:text="@string/save" />
</LinearLayout>
je montre les 3 boutons du bas
<Button android:id="@+id/my_button" style="@android:style/Widget.Holo.Button.Borderless" />
vous devez également mettre les marges et le rembourrage de l'image à 0. Regardez aussi la deuxième, non marquée réponse à comment créer des boutons Sans Frontières standard (comme dans le design guidline mentionné)?