Android 相对布局在对齐父级时添加边距

Android Relative Layout add Margin when Align Parent

我的 Android 视图中有一个相对布局。

我正在尝试根据“编辑”图标使中间文本具有一些正确的填充或边距。请看下面我要找的图片。

但是我似乎无法执行中间文本。它一直运行到“编辑”按钮。

我做错了什么?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true"
    android:layout_height="30dp"
    android:background="#26265e"
    >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="14dp"
        android:layout_height="14dp"
        android:src="@drawable/ic_my_location_white_18dp"

        android:layout_alignParentLeft="true"
        android:adjustViewBounds="true"
        android:ellipsize="middle"
        android:layout_marginLeft="12dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="8dp"

        />

    <TextView
        android:id="@+id/tiLocationAddress"
        android:layout_alignParentLeft="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:textColor="#ffffff"
        android:ellipsize="middle"
        android:maxLines="1"
        android:layout_marginBottom="7dp"
        android:layout_marginLeft="30dp"
        android:textSize="12dp"

        />


    <TextView
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:textColor="#ffffff"
        android:textSize="13dp"
        android:paddingTop="6dp"
        android:paddingBottom="6dp"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:text="Edit"
        android:onClick="onClick"
        android:clickable="true"

        />

</RelativeLayout>

您需要为文本视图说 layout_toRightOf:

<TextView
    android:id="@+id/tiLocationAddress"
    //android:layout_alignParentLeft="true" - remove this
    android:layout_toRightOf="@id/imageView1" - add this
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:textColor="#ffffff"
    android:ellipsize="middle"
    android:maxLines="1"
    android:layout_marginBottom="7dp"
    android:layout_marginLeft="30dp"
    android:textSize="12dp"

    />

我建议强制将编辑按钮或 TextView 置于末尾或右侧,然后指定您的其他 TextView 保留在编辑按钮的左侧。 为此,您需要定义一个 ID 并引用它,如下所示:

<TextView
        android:id="@+id/tiLocationAddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="rfnfjeknfwfwe welfmdlwekmklwemfklwemfw welmfweklmflwkmfwl"
        android:textColor="#ffffff"
        android:ellipsize="middle"
        android:maxLines="1"
        android:padding="5dp"
        android:layout_centerVertical="true"
        android:layout_marginBottom="7dp"
        android:layout_marginLeft="30dp"
        android:textSize="12dp"
        android:layout_toLeftOf="@+id/btnEdit"
        />

    <TextView
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:textColor="#ffffff"
        android:textSize="13dp"
        android:id="@id/btnEdit"
        android:paddingTop="6dp"
        android:paddingBottom="6dp"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:text="Edit"
        android:onClick="onClick"
        android:clickable="true"

        />