RecyclerView
RecyclerView 是一个用于显示集合的视图组;它旨在更灵活地替代较旧的视图组,如 ListView 和 GridView。 本指南介绍如何在 Xamarin.Android 应用程序中使用和自定义 RecyclerView。
RecyclerView
许多应用需要显示同一类型的集合(如信息、联系人、图像或歌曲);通常情况下,这个集合太大而无法在屏幕上显示,因此需要在一个小窗口中显示此集合,该窗口可以流畅地滚动显示集合中的所有项目。
RecyclerView
是一个 Android 小组件,它显示列表或网格中的项目集合,使用户能够滚动浏览集合。 下面是一个示例应用的屏幕截图,它使用 RecyclerView
在垂直滚动列表中显示电子邮件收件箱内容:
RecyclerView
提供两个极具吸引力的功能:
它采用灵活的体系结构,可让你通过插入首选组件来修改其行为。
它对大型集合非常有效,因为它重用项视图,并且需要使用视图持有者来缓存视图引用。
本指南介绍如何在 Xamarin.Android 应用程序中使用 RecyclerView
;介绍如何将 RecyclerView
包添加到 Xamarin.Android 项目,并介绍 RecyclerView
如何在典型应用程序中运行。 提供实际代码示例来演示如何将 RecyclerView
集成到应用程序中、如何实现项视图单击,以及如何在基础数据更改时刷新 RecyclerView
。 本指南的前提是你熟悉 Xamarin.Android 开发。
要求
尽管 RecyclerView
通常与 Android 5.0 Lollipop 相关联,但它作为支持库提供 - RecyclerView
适用于面向 API 级别 7 (Android 2.1) 及更高版本的应用。 若要在基于 Xamarin 的应用程序中使用 RecyclerView
功能,需满足以下要求:
Xamarin.Android - 必须安装 Xamarin.Android 4.20 或更高版本并配置 Visual Studio 或 Visual Studio for Mac。
应用项目必须包含 Xamarin.Android.Support.v7.RecyclerView 包。 有关安装 NuGet 包的详细信息,请参阅演练:在项目中包括 NuGet。
概述
RecyclerView
可以视为 Android 中 ListView
和 GridView
小组件的替代项。 与其前身一样,RecyclerView
设计为在小窗口中显示大型数据集,但 RecyclerView
提供了更多布局选项,并且更适用于显示大型集合。 如果你熟悉 ListView
,那么应知道 ListView
和 RecyclerView
之间有一些重要区别:
RecyclerView
使用起来稍微复杂一些:相比ListView
,必须编写更多代码才能使用RecyclerView
。RecyclerView
不提供预定义的适配器;必须实施访问数据源的适配器代码。 但是,Android 包含多个适用于ListView
和GridView
的预定义适配器。当用户点击某个项目时,
RecyclerView
不提供项单击事件;而是由帮助程序类处理项单击事件。 与之相反,ListView
提供项单击事件。RecyclerView
通过回收视图和强制实施视图持有者模式来提高性能,从而消除了不必要的布局资源查找。 在ListView
中使用视图持有者模式是可选的。RecyclerView
基于模块化设计,可以更轻松地进行自定义。 例如,可以插入不同的布局策略,而无需对应用进行重大代码更改。 相比之下,ListView
的结构相对单一。RecyclerView
包括项添加和删除的内置动画。ListView
动画需要应用开发人员完成一些额外的工作。
部分
RecyclerView 部件和功能
本主题介绍 Adapter
、LayoutManager
和 ViewHolder
如何作为帮助程序类协同工作,以支持 RecyclerView
。
它简要概述了每个帮助程序类,并说明了如何在应用中使用它们。
基本 RecyclerView 示例
本主题以 RecyclerView 部件和功能中提供的信息为基础,提供了演示如何实现各种 RecyclerView
元素的真实代码示例,以构建一个真实世界的照片浏览应用。
扩展 RecyclerView 示例
本主题为基本 RecyclerView 示例中的示例应用添加了额外代码,以演示如何处理项单击事件,并在底层数据源发生变化时更新 RecyclerView
。
总结
本指南介绍了 Android RecyclerView
小组件;说明了如何将 RecyclerView
支持库添加到 Xamarin.Android 项目中,RecyclerView
如何循环视图,如何强制执行视图持有者模式以提高效率,以及组成 RecyclerView
的各种帮助程序类如何协作显示集合。 它提供了示例代码来演示 RecyclerView
如何集成到应用程序中,介绍了如何通过插入不同的布局管理器来定制 RecyclerView
的布局策略,并描述了如何处理项单击事件及通知 RecyclerView
数据源更改。
有关 RecyclerView
的详细信息,请参阅 RecyclerView 类引用。