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?
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.
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
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 ^ _ ^