Как я могу получить размеры кнопки изображения, чтобы иметь смысл в Android? - PullRequest
0 голосов
/ 11 марта 2011

Прежде всего, могу ли я просто сказать, что я считаю, что выкладывание пользовательского интерфейса для Android будет разочаровывающим опытом? Раньше я думал, что макеты XML были простыми, чистыми и удивительными, но каждый раз, когда я пытаюсь что-то с этим сделать, я часами пытаюсь делать самые простые вещи!

В этом конкретном случае я пытаюсь сделать простую горизонтальную полосу, которая содержит кнопку изображения фиксированного размера справа, а слева от нее я хочу ImageView, который занимает оставшуюся часть доступной ширины. В пользовательском интерфейсе все время появляются похожие конструкции: поле поиска, которое появляется в верхней части экрана при поиске, текстовая область и кнопка отправки для создания текстовых сообщений / сообщений googletalk и т. Д.

Я пробовал горизонтальную линейную разметку и относительную разметку, и я не могу заставить кнопку выглядеть правильно ни в одной из них. Моя последняя попытка имеет следующий код макета:

Это выглядит так:

Screnshot

Использование hiearchyviewer указывает, что и изображение, и кнопка имеют одинаковую высоту (45 пикселей). И это показывает размеры вида и позиции, чтобы быть именно тем, что я ищу. Та же высота (разная ширина, конечно, поскольку ImageView намного шире). И они встают прямо рядом друг с другом, в центре Относительного плана. Однако кнопка, отображаемая на экране, явно не занимает полный вид ImageButton. Я думаю, что это что-то странное в рисовании 9patch системы Android, которое используется для фона ImageButton. Но что я знаю? Я не могу заставить его выглядеть правильно, что бы я ни пытался.

Ответы [ 2 ]

0 голосов
/ 11 марта 2011

Если размеры именно такие, как вы ищете, то в ImageButton и ImageView используйте android: scaleType = "fitXY" и проверьте.

Для простого случая я мог бы использовать линейное расположение с горизонтальной ориентацией с двумя кнопками в нем с соответствующими весами.

0 голосов
/ 11 марта 2011

Как вы настроили RelativeLayout? Попробуйте настроить это так:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="wrap_content">
    <ImageButton android:layout_width="wrap_content" android:src="@drawable/icon" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:id="@+id/imgButton"></ImageButton>
    <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:src="@drawable/red_button" android:scaleType="fitXY" android:layout_alignBottom="@+id/imgButton" android:layout_alignTop="@+id/imgButton" android:layout_toLeftOf="@+id/imgButton"></ImageView>        
</RelativeLayout>

Надеюсь, это поможет.

...