列表项内的位置布局

时间:2015-03-11 12:50:35

标签: java android android-layout

我有一个列表,我希望在列表项的左侧部分显示图像,并在图像的右侧 一系列垂直对齐的小部件,其中一个包括:@layout
有一个相对布局我可以使用布局到pic的右侧添加小部件,但是: 1)我无法将线性布局与pic右侧对齐,因为似乎没有这样的属性 2)没有将小部件嵌套在一个线性布局中,只将它们放在选择的右侧,而将其中一个放在另一个的顶部,我不能将include:@layout放在我想要的地方,因为它没有layout_bellow等属性。
我该如何创建这样的布局?

更新:

++++++++ ++++++++++++++++++++
+IMAGE +  TEXTVIEW          +
+         +   LAYOUT FILE   +
+         +         TEXTVIEW+
+++++++++++++++++++ TEXTVIEW+  

更新:

<?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/thumb"
        android:layout_alignParentLeft="true"
        />

    <TextView
        android:id="@+id/friend_name”
        android:layout_toRightOf="@id/thumb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_horizontal"
        android:gravity="top"
       />


    <ViewStub
        android:id="@+id/stub_friend_status”
        android:inflatedId="@+id/friend_status”
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/thumb"
        android:layout_below="@id/friend_name"
        android:layout="@layout/friend_status”/>

    <TextView
        android:id="@+id/latest_date”
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/stub_friend_status"
        android:layout_toRightOf="@id/thumb"
       />


    <ViewStub
        android:id="@+id/stub_general_info”
        android:inflatedId="@+id/general”
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/latest_date"
        android:layout_alignParentBottom="true"
        android:layout="@layout/general_info”/>

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

这是布局,您可以使左/右部分相同,左侧部分放置图像,右侧部分可以垂直放置布局:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >

    //left part
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        >

        <FrameLayout
            android:id="@+id/image_frame"
            android:layout_width="img_width"
            android:layout_height="img_height"
            android:gravity="center"
            >

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/your_img"/>

        </FrameLayout>

    </LinearLayout>

    //right part
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="1"
        android:gravity="center_vertical"
        >


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/view_1"
               ... ...
            android:layout_gravity="left"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/view_2"
            ... ...
            android:layout_gravity="left"
            />

            ... ...            

    </LinearLayout>

</LinearLayout>

如果您希望左侧部分小于右侧,则可以将左/右layout_weight更改为1/2或2/3 ......

希望这有帮助!