这个ListView使用的最佳布局是什么?

时间:2014-05-08 08:31:07

标签: android android-layout listview

RelativeLayout是最好的出路吗?

Image

4 个答案:

答案 0 :(得分:2)

LinearLayout是我个人的偏好。

一个水平LinearLayout,包含ImageView,垂直LinearLayout,其中包含两个TextView,另一个TextView

ImageView一个固定的高度和宽度(48dp对于列表项来说非常常见)。

将垂直LinearLayout的宽度设置为0dp并赋予其权重1.这样它将一直拉伸,以便ImageViewTextView位于布局的边缘。

答案 1 :(得分:1)

使用权重的LinearLayout。这是你想要的。只需更改文本颜色,大小,布局大小等(我使用的值只是为了显示它的外观,你将自定义)。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="90dp"
    android:background="#484848"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_gravity="center_vertical"
        android:text="" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:orientation="horizontal"
        android:weightSum="5"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="0px"
            android:layout_weight="3"
            android:layout_height="match_parent"
            android:orientation="vertical" >

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

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

        </LinearLayout>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0px"
            android:layout_weight="2"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="TextView" />

    </LinearLayout>

</LinearLayout>

答案 2 :(得分:1)

与使用多个RelativeLayout来表示相同的布局相比,由于View层次结构中的深度减少,我会留在LinearLayout

从理论上讲,这将使您的列表更顺畅。

答案 3 :(得分:1)

// try this way,hope this will help you...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:gravity="center">

    <ImageView
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:src="@drawable/ic_launcher"
        android:adjustViewBounds="true"/>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_marginLeft="5dp"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TEXT1"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TEXT2"/>
    </LinearLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:text="TEXT3"/>
</LinearLayout>