420 votes

Android : drawableLeft marge et/ou de remplissage

Est-il possible de définir la marge ou le remplissage de l’image que nous avons ajouté avec le `` ?

500voto

Jordan Points 2059

Comme cephus mentionné android:drawablePadding uniquement de la force de la marge entre le texte et le drawable si le bouton est suffisamment petit.

Lors de la pose de grosses touches, vous pouvez utiliser android:drawablePadding en conjonction avec d' android:paddingLeft et android:paddingRight à la force du texte et dessiné à l'intérieur vers le centre de la touche. En ajustant la gauche et la droite rembourrage séparément, vous pouvez faire de très réglages détaillés pour la mise en page.

Voici un exemple de bouton qui utilise un rembourrage pour pousser le texte et l'icône plus proches qu'ils seraient par défaut:

<Button android:text="@string/button_label" 
    android:id="@+id/buttonId"
    android:layout_width="160dip"
    android:layout_height="60dip"
    android:layout_gravity="center"
    android:textSize="13dip"
    android:drawableLeft="@drawable/button_icon"
    android:drawablePadding="2dip"
    android:paddingLeft="30dip"
    android:paddingRight="26dip"
    android:singleLine="true"
    android:gravity="center" />  

200voto

Cheryl Simon Points 25259

TextView un android:drawablePadding propriété qui devrait faire l'affaire:

android:drawablePadding

Le rembourrage entre l'un drawable et le texte.

Doit être une valeur de dimension, qui est un nombre à virgule flottante ajouté avec une unité telle que "14.5 sp". Les unités disponibles sont: px (pixels), dp (indépendante de la densité de pixels), sp (mise à l'échelle des pixels en fonction préférée taille de la police), en (pouces) mm (millimètres).

Ce peut aussi être une référence à une ressource (dans la forme "@[package:]type:nom de") ou le thème de l'attribut (dans la forme "?[package:][type:]nom") contenant une valeur de ce type.

Cela correspond à l'attribut global symbole de ressource drawablePadding.

68voto

cephus Points 577

android:drawablePadding ne fera que créer un rembourrage entre le texte et le drawable si le bouton est suffisamment petit pour écraser les 2 ensemble. Si votre bouton est plus large que la largeur combinée (pour drawableLeft/drawableRight) ou la hauteur (pour drawableTop/drawableBottom) puis drawablePadding ne pas faire n'importe quoi.

Je suis aux prises avec ce droit maintenant. Mes boutons sont assez larges, et l'icône est accroché sur le bord gauche du bouton et le texte est centré dans le milieu. Mon seul moyen de contourner cela pour l'instant a été à cuire dans une marge sur le dessiné par l'ajout de pixels vides vers le bord gauche de la zone de travail avec photoshop. Pas l'idéal, et pas vraiment recommandé. Mais c'est ma solution temporaire pour l'instant, court de reconstruction TextView/Bouton.

15voto

Umesh N Points 41
<pre><code></code><p>Le rembourrage définis dans cette forme aidera à donner rembourrage drawableleft ou right ---appliquer cette forme sur EditView</p><pre><code></code></pre></pre>

8voto

Alexey Zakharov Points 6743

Au lieu de bouton utiliser LinearLayout avec ImageView et TextView à l’intérieur. Dans les éléments enfants comme ImageView et TextView utilisation android : duplicateParentState = « true ».

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X