web-dev-qa-db-fra.com

Android ImageButton - impossible d’obtenir une image au centre

Je veux créer un ImageButton Android dans le fichier XML avec une image d'arrière-plan et une icône plus petite au-dessus, au centre. Pour une raison quelconque, la manière de le faire n'est pas évidente, et la documentation n'est d'aucune aide.

<ImageButton
Android:id="@+id/sound_button"
Android:layout_x="430px"
Android:layout_y="219px"
Android:layout_width="48px"
Android:layout_height="48px"
Android:scaleType="center"
Android:src="@Android:drawable/volumeicon"
Android:background="@drawable/clearbuttonup"
/>

Cependant, peu importe ce que j'essaie (mettre " wrap _ content " à la place de absolute nombres sur la disposition _ hauteur et disposition _ largeur, l'icône reste dans le coin supérieur gauche du bouton. Si, toutefois, , Je n’ai pas d’image d’arrière-plan (c’est-à-dire un bouton blanc par défaut du système), l’icône va au centre, ainsi que dans le coin supérieur gauche lorsque j’utilise une couleur au lieu d’une image pour l’arrière-plan.

Pourquoi cela se produit-il et comment aurais-je réellement le comportement que je veux: une image d'arrière-plan avec l'icône au centre?

23
executor21

Je suis un vrai imbécile. C'est ainsi que le plug-in Ecliplse apparaît à l'écran côte à côte avec l'éditeur XML. Lorsque je construisais le projet et que je l'exécutais sur un périphérique, tout s'affichait correctement.

16
executor21

Ironiquement, j'avais exactement le problème opposé à un ImageView: je ne pouvais pas l'aligner à gauche, peu importe ce que j'essayais. Dans ce cas, j'utilisais layout_width="fill_parent".

Voir ma question ici: Mise en page Android - Problème d'alignement avec ImageView

1
Alnitak

essayez d'utiliser le bouton et définissez le fond, il est très utile et facile: D

faites le texte vide et vous pouvez l'utiliser comme bouton image ^ _ ^

0
Oubaida AlQuraan