我试图在android布局中对齐两个视图 我有一个ImageView
我必须在顶部的“弹出窗口”中间对齐文本。
现在我的布局如下:
<?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设置为实际高度的百分比吗?
答案 0 :(得分:1)
如果弹出图像的所有分辨率都正确缩放,你可以编写android:layout_marginTop =&#34; 20dp&#34;。
请遵循指南: