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 – 必须使用 Visual Studio 或 Visual Studio for Mac安装和配置 Xamarin.Android 4.20 或更高版本。
应用项目必须包含 Xamarin.Android.Support.v7.RecyclerView 包。 有关安装 NuGet 包的详细信息,请参阅 演练:在项目中包括 NuGet。
概述
RecyclerView
可以被视为 Android 中 和 GridView
小组件的替代ListView
项。 与其前身一样, RecyclerView
设计为在小窗口中显示大型数据集,但 RecyclerView
提供更多的布局选项,并且更适合显示大型集合。 如果熟悉 ListView
,则 和 RecyclerView
之间存在ListView
几个重要差异:
RecyclerView
使用起来稍微复杂一些:与 相比ListView
,必须编写更多要使用的RecyclerView
代码。RecyclerView
不提供预定义的适配器;必须实现访问数据源的适配器代码。 但是,Android 包含多个使用ListView
和GridView
的预定义适配器。RecyclerView
当用户点击某个项时,不提供项目单击事件;相反,项目单击事件由帮助程序类处理。 相比之下,ListView
提供项目单击事件。RecyclerView
通过回收视图和强制实施视图持有者模式来增强性能,从而消除了不必要的布局资源查找。 在 中ListView
,视带模式的使用是可选的。RecyclerView
基于模块化设计,使其更易于自定义。 例如,无需对应用进行重大代码更改即可插入不同的布局策略。 相比之下,ListView
在结构上是相对单一的。RecyclerView
包括用于项添加和删除的内置动画。ListView
动画需要应用开发人员进行一些额外的工作。
章节
RecyclerView 部件和功能
本主题说明 、 和 如何Adapter
作为帮助程序类协同工作以支持 RecyclerView
。ViewHolder
LayoutManager
它简要概述了其中每个帮助程序类,并说明了如何在应用中使用这些类。
基本 RecyclerView 示例
本主题基于 RecyclerView 部件和功能 中提供的信息,提供有关如何实现各种 RecyclerView
元素以生成真实照片浏览应用的真实代码示例。
扩展 RecyclerView 示例
本主题将其他代码添加到 基本回收器View 示例中 提供的示例应用,以演示如何处理项目单击事件并在基础数据源更改时进行更新 RecyclerView
。
总结
本指南介绍了 Android RecyclerView
小组件;它介绍了如何将支持库添加到 RecyclerView
Xamarin.Android 项目、如何 RecyclerView
回收视图、如何强制实施视图持有者模式来提高效率,以及组成 RecyclerView
各种帮助程序类如何协作显示集合。 它提供了示例代码来演示如何 RecyclerView
集成到应用程序中,介绍了如何通过插入不同的布局管理器来定制 RecyclerView
的布局策略,并介绍了如何处理项单击事件和通知 RecyclerView
数据源更改。
有关 的详细信息 RecyclerView
,请参阅 RecyclerView 类参考。