hpi*_*hal 5 android listview material-design
我正在尝试构建一个遵循谷歌指南的列表视图。
这是我的要求:
这是显示标题和项目之间的分隔线的图像。不幸的是,无法查看组之间的全宽分隔线,但这就像普通的分隔线一样。
我可以构建一个自定义适配器,它接收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" />
Run Code Online (Sandbox Code Playgroud)
至于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>
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是项目分隔符。全宽分隔符将是普通的列表视图分隔符。我只是不确定如何进行部分分隔并使其与普通分隔器一起工作。有什么提示吗?
如果更容易/更好的话,也可以使用RecyclerView和s 来完成。ItemDecorator
小智 0
将视图添加到您的RelativeLayout中我在将视图添加到您的布局文件后发布代码
<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" />
<View
android:id="@+id/divider_line"
android:layout_width="match_parent"
android:layout_below="@+id/friend_state"
android:layout_marginBottom="1dp"
android:layout_height="1dp"
android:background="@color/divider_line_color"
xmlns:android="http://schemas.android.com/apk/res/android" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
将divider_line_color 定义到values 文件夹中的colors.xml 中。
即使您的列表视图设置 android:divider="@null"
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |