Я пытаюсь создать простой макет с изображением и двумя надписями (один над изображением, а другой под ним). Я использую раздутый вид, чтобы нарисовать его на холсте. Меня интересует создание вида с прямоугольником, в центре которого находится центр изображения. Использование размеров fill_parent или match_parent для макета нежелательно, поскольку окончательный вид будет занимать все доступное пространство, а не минимальное пространство (в результате получается слишком большое растровое изображение).
Это код, который я использовал до сих пор:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:layout_centerInParent="true"
android:layout_width="wrap_content" android:id="@+id/ivBeaconType"
android:layout_height="wrap_content" android:src="@drawable/bt_beacon"></ImageView>
<TextView android:layout_above="@id/ivBeaconType" android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12dp" android:text="AABBCCDDEEFF" android:id="@+id/tvId"
android:textColor="#72C8E0"></TextView>
<TextView android:layout_below="@id/ivBeaconType" android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall"
android:text="-99 dB" android:id="@+id/tvRssi" android:textColor="#FF0000"></TextView>
</RelativeLayout>
У этого есть проблема. Относительный макет не подходит для обоих текстов (метка выше не отображается, а метка внизу закрашена слишком близко к изображению). Я мог бы правильно визуализировать вид, выровняв изображение под первым текстом и третьим текстом под изображением, но это не привело бы к идеальному центру вокруг центра изображения (или при использовании линейного расположения).
Что можно сделать? Другим правильным решением было бы получить центр изображения относительно области рисования макета. Есть идеи?