Android ImageButton - Impossible d'obtenir une image au centre
-
20-08-2019 - |
Question
Je veux créer un Android ImageButton dans le fichier XML avec une image d'arrière-plan, et une icône plus petite en plus, juste au centre. Pour une raison quelconque, il n'est pas évident de savoir comment le faire, et la documentation n'est pas d'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 "Enveloppez _ Contenu" à la place de absolu Numéros sur la mise en page _ hauteur et mise en page _ Largeur, l'icône reste dans le coin supérieur gauche du bouton. Si, cependant, 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 entre au centre. Le bouton va également 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 pourrais-je réellement obtenir le comportement que je veux - c'est-à-dire une image de fond avec l'icône au centre?
La solution
Je suis un vrai crétin. C'est ainsi qu'il apparaît dans l'affichage que le plugin Ecliplse fournit côte à côte avec l'éditeur XML. Lorsque je construis le projet et que je l'ai exécuté sur un appareil, il affiche tout correctement.
Autres conseils
Ironiquement, j'avais exactement le problème opposé avec une vue de l'image - je ne pouvais pas le faire aligner à gauche, peu importe ce que j'ai essayé. Dans ce cas, j'utilisais layout_width="fill_parent"
.
Voir ma question ici: Disposition Android - Issue d'alignement avec ImageView
Essayez d'utiliser le bouton et définissez l'arrière-plan, il est très utile et facile: D
rendre le texte vide et vous pouvez l'utiliser comme le bouton d'image ^ _ ^