it-swarm.com.ru

Android ImageButton - невозможно получить изображение в центре

Я хочу создать 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"
/>

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

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

23
executor21

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

16
executor21

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

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

1
Alnitak

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

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

0
Oubaida AlQuraan