Android ImageButton - невозможно получить изображение в центре - PullRequest
24 голосов
/ 19 марта 2009

Я хочу создать Android ImageButton в xml-файле с фоновым изображением и иконкой меньшего размера сверху, прямо в центре. По какой-то причине не очевидно, как это сделать, и документация не поможет.

<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"
/>

Однако, что бы я ни пытался сделать (вместо абсолютных чисел на макете _ высота и макет _ ширина, вместо "*1006* wrap _ content " значок остается в верхнем левом углу кнопки. Если, однако, у меня нет фонового изображения (т.е. белая кнопка по умолчанию для системы), значок переходит в центр. Кнопка также переходит в верхний левый угол, когда я использую цвет вместо изображения для фон.

Почему это происходит, и как бы я на самом деле получил желаемое поведение, то есть фоновое изображение со значком в центре?

Ответы [ 3 ]

17 голосов
/ 19 марта 2009

Я настоящий идиот. Вот как это выглядит на дисплее, плагин Ecliplse предоставляет бок о бок с редактором XML. Когда я действительно собирал проект и запускал его на устройстве, он отображал все правильно.

1 голос
/ 19 марта 2009

По иронии судьбы у меня была совершенно противоположная проблема с ImageView - я не мог выровнять его по левому краю, что бы я ни пытался. В этом случае я использовал layout_width="fill_parent".

См. Мой вопрос здесь: Макет Android - проблема с выравниванием с ImageView

0 голосов
/ 01 июня 2013

попробуйте использовать кнопку и установить фон, это очень полезно и просто: D

сделать текст пустым и использовать его как кнопку с изображением ^ _ ^

...