【发布时间】:2016-08-17 01:10:53
【问题描述】:
我正在尝试构建一个遵循 google 指南的列表视图。
这是我的要求:
- 允许组标题
- 允许组之间使用全宽分隔符
- 允许项目之间的部分分隔符
这是显示标题和项目之间分隔符的图像。 不幸的是,无法查看组之间的全宽分隔线,但这就像普通的分隔线一样。
我可以构建一个自定义适配器来接收Item 的子类,例如HeaderItem 和ContactItem。
header.xml 就是
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="48dp"
android:padding="16dp"
android:text="Today"
android:textColor="#8A000000"
android:textSize="14sp" />
至于contact.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/friend_profile_picture"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_margin="16dp"
android:scaleType="fitStart"
android:src="@drawable/ic_home" />
<TextView
android:id="@+id/friend_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@+id/friend_profile_picture"
android:paddingTop="16dp"
android:text="random_text"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" />
<TextView
android:id="@+id/friend_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/friend_name"
android:layout_toRightOf="@+id/friend_profile_picture"
android:paddingBottom="16dp"
android:text="random_text"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="14sp" />
</RelativeLayout>
现在,我的问题是项目分隔符。全宽分隔器将是一个普通的列表视图分隔器。我只是不确定如何进行部分分频器并使其与普通分频器一起工作。有什么提示吗?
如果更容易/更好,也可以使用 RecyclerView 和 ItemDecorators 来完成。
【问题讨论】:
-
在“friend_state”Tetview 下方添加一个 View/LinearLayout/RelativeLayout,背景为黑色,左边距/边距 72dp。
-
好的,但是这样做会在那里显示行,然后是列表视图的分隔符。现在只缺少如何使列表视图分隔符仅在部分之间可见。
-
参考这个链接,这可能对你有帮助link
标签: android listview material-design