如何将RelativeLayout的内容与ImageView的右侧对齐?

时间:2014-12-19 16:52:32

标签: android android-layout relativelayout

我尝试创建一个item_view布局以在ListView中充气,如下面的链接所示:Layout example

主RelativeLayout包含一个ImageView和另一个RelativeLayout:

<ImageView
    android:id="@+id/outbox_message_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginBottom="2dp"
    android:adjustViewBounds="true"
    android:src="@drawable/ic_action_favorite" />

在ImageView的右侧,我有这个RelativeLayout,它包含两个textField:

<RelativeLayout
        android:id="@+id/outbox_message_info_container"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignBottom="@+id/outbox_message_icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/outbox_message_icon" >

        <View
            android:id="@+id/separator"
            android:layout_width="wrap_content"
            android:layout_height="1dip"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:background="#000000" />

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/separator"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="TextView1" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/separator" >

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="TextView2" />

        </RelativeLayout>
    </RelativeLayout>

但我得到了这个结果:layout results。 我不知道为什么我得到了正确的结果。谁能帮我? 感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用LinearLayout作为TextViews和分频器。只需将图像更改为图像即可。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/outbox_message_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="2dp"
        android:adjustViewBounds="true"
        android:src="@drawable/ic_launcher" />
    <LinearLayout
        android:orientation="vertical"
        android:id="@+id/outbox_message_info_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_alignBottom="@+id/outbox_message_icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/outbox_message_icon" >


        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="TextView1" />

        <View
            android:id="@+id/separator"
            android:layout_width="wrap_content"
            android:layout_height="1dip"
            android:layout_centerVertical="true"
            android:background="#000000" />
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="TextView2" />
    </LinearLayout>
</RelativeLayout>

这是结果: Preview