我将如何为此布局编写适配器。我开始想要使用线性和相对布局创建一个列表,以便每个列表项的子项相对于彼此水平对齐。这是布局文件和 View 的屏幕截图。
我了解如何编写简单的 ListView 和适配器。但只是想知道如何才能获得更复杂的列表,其中包含大量的子列表项。
<?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>
最佳答案
创建自定义列表并创建自定义适配器,就像这样 请遵循对您有帮助的教程: Custom Listviews 也遵循更有效的 List View
关于android - 用于具有多个子项目的项目列表的自定义适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23485986/