Я пытаюсь объединить два вида в макет андроида.
Я имею в ImageViewAndroid, как сопоставить эти взгляды
И я должен Allign текст в середине «всплывающих окон» на самом верху.
Теперь мой макет выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/rl_authorization_main"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
android:padding="35dp"
>
<ImageView
android:id="@+id/iv_map"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:adjustViewBounds="true"
android:src="@drawable/map_contact"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_alignTop="@+id/iv_map"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="@string/address"
android:textColor="@color/black"
android:textSize="16sp"/>
</RelativeLayout>
Но как вы можете видеть, андроид: layout_marginTop = «20dp» из TextView является жёстко, и это не даст желаемого результата на всех устройствах.
Я думал об использовании 9patch для этого «всплывающего окна», но по-прежнему будет проблемой указать его в точное место на карте.
Должен ли я как-то рассчитать фактическую высоту ImageView и установить layout_marginTop в процентах от фактической высоты?