相对布局不能包裹并保持伸展

时间:2013-06-05 07:45:55

标签: android xml relativelayout

我有这个布局 enter image description here

我已将灰色框宽度设置为wrap_content,但它不会换行而是像往常一样拉伸。这是死xml

<?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="wrap_content"
android:padding="10dp"
android:background="#ffffff" >

<ImageView
    android:id="@+id/item_image"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/image_photo" />

<RelativeLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="10dp"
    android:padding="5dp"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/item_image"
    android:background="#cccccc" >

    <TextView 
        android:id="@+id/item_text_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:textStyle="bold"
        android:textSize="20sp"
        android:text="Name"
        />
    <TextView 
        android:id="@+id/item_text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_alignRight="@+id/item_text_1"
        android:textSize="14sp"
        android:text="Message"
        />
</RelativeLayout>

</RelativeLayout>

就像聊天列表项一样,您知道,该框应该将内容包装在其中吗? 那我该怎么做呢?

谢谢!

更新

这是我的右对齐聊天项框,xml代码

<?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="wrap_content"
android:padding="10dp"
android:background="#ffffff" >

<ImageView
    android:id="@+id/item_image"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:background="@drawable/image_photo" />

<LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="10dp"
    android:padding="5dp"
    android:orientation="vertical"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/item_image"
    android:background="#cccccc" >

    <TextView 
        android:id="@+id/item_text_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:textStyle="bold"
        android:textSize="20sp"
        android:text="Name"
        />
    <TextView 
        android:id="@+id/item_text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="right"
        android:layout_gravity="right"
        android:textSize="14sp"
        android:text="Message"
        />
</LinearLayout>

</RelativeLayout>

对于左对齐的聊天框,以防另一个用户,你只需删除android:layout_gravity和android:gravity!谢谢!

1 个答案:

答案 0 :(得分:0)

删除

android:layout_alignParentRight="true"
android:layout_alignParentTop="true"

来自

<TextView 
        android:id="@+id/item_text_1"
        ...

因为你想将它的父对齐而不是视图本身