自定义适配器,用于包含多个子项的项目列表?

时间:2014-05-06 04:30:45

标签: android android-layout android-linearlayout android-adapter

我将如何为此布局编写适配器。我开始想要使用线性和相对布局制作列表,以便每个列表项具有相对于彼此水平对齐的子项。这是布局文件和视图的屏幕截图。

我理解如何编写简单的列表视图和适配器。但只是想知道我如何能够获得更多复杂的列表,而不仅仅是满载子列表项。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/trade_scenario_linear_main"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#8a929d">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:padding="6dip"
        android:background="#e8e7e2">

        <ImageView
            android:id="@+id/avatar"
            android:layout_width="65dp"
            android:layout_height="65dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentTop="true"
            android:contentDescription="TODO"
            android:src="@drawable/avatar_temp" />

        <TextView
            android:id="@+id/username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignWithParentIfMissing="true"
            android:layout_toRightOf="@id/avatar"
            android:text="Shepherd"
            android:textColor="#ED872D"
            android:textSize="12sp" />

        <ImageView
            android:id="@+id/clock_icon"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_marginLeft="90dp"
            android:layout_gravity="right"
            android:layout_toRightOf="@id/username"
            android:src="@drawable/clock_icon" />
        <TextView
            android:id="@+id/clock_data"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/clock_icon"
            android:textSize="14sp"
            android:text="22H 30mins"/>

        <ImageView
            android:id="@+id/comments_icon"
            android:layout_width="16dp"
            android:layout_height="16dp"
            android:layout_alignParentBottom="true"
            android:layout_toRightOf="@id/avatar"
            android:src="@drawable/comment" />

        <TextView
            android:id="@+id/comments_num"
            android:layout_width="wrap_content"
            android:layout_height="26dip"
            android:layout_alignParentBottom="true"
            android:layout_alignTop="@+id/comments_icon"
            android:layout_toRightOf="@id/comments_icon"
            android:ellipsize="marquee"
            android:singleLine="true"
            android:text="14"
            android:textSize="12sp" />

    </RelativeLayout> 
</LinearLayout>

1 个答案:

答案 0 :(得分:3)

创建自定义列表视图,并创建自定义适配器,就像这样 按照可以帮助您的教程: Custom Listviews 也更容易遵循 {{3P>