RecyclerView

RecyclerView 是用于显示集合的视图组;它旨在更灵活地替代较旧的视图组,例如 ListView 和 GridView。 本指南介绍如何在 Xamarin.Android 应用程序中使用和自定义 RecyclerView。

RecyclerView

许多应用需要显示相同类型的 (集合,例如消息、联系人、图像或歌曲) ;通常,此集合太大而无法容纳在屏幕上,因此集合显示在一个小窗口中,该窗口可以顺利滚动浏览集合中的所有项。 RecyclerView 是一个 Android 小组件,它显示列表或网格中的项集合,使用户能够滚动浏览集合。 下面是一个示例应用的屏幕截图,该应用使用 RecyclerView 在垂直滚动列表中显示电子邮件收件箱内容:

使用 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 包含多个使用 ListViewGridView的预定义适配器。

  • RecyclerView 当用户点击某个项时,不提供项目单击事件;相反,项目单击事件由帮助程序类处理。 相比之下, ListView 提供项目单击事件。

  • RecyclerView 通过回收视图和强制实施视图持有者模式来增强性能,从而消除了不必要的布局资源查找。 在 中 ListView,视带模式的使用是可选的。

  • RecyclerView 基于模块化设计,使其更易于自定义。 例如,无需对应用进行重大代码更改即可插入不同的布局策略。 相比之下, ListView 在结构上是相对单一的。

  • RecyclerView 包括用于项添加和删除的内置动画。 ListView 动画需要应用开发人员进行一些额外的工作。

章节

RecyclerView 部件和功能

本主题说明 、 和 如何Adapter作为帮助程序类协同工作以支持 RecyclerViewViewHolderLayoutManager 它简要概述了其中每个帮助程序类,并说明了如何在应用中使用这些类。

基本 RecyclerView 示例

本主题基于 RecyclerView 部件和功能 中提供的信息,提供有关如何实现各种 RecyclerView 元素以生成真实照片浏览应用的真实代码示例。

扩展 RecyclerView 示例

本主题将其他代码添加到 基本回收器View 示例中 提供的示例应用,以演示如何处理项目单击事件并在基础数据源更改时进行更新 RecyclerView

总结

本指南介绍了 Android RecyclerView 小组件;它介绍了如何将支持库添加到 RecyclerView Xamarin.Android 项目、如何 RecyclerView 回收视图、如何强制实施视图持有者模式来提高效率,以及组成 RecyclerView 各种帮助程序类如何协作显示集合。 它提供了示例代码来演示如何 RecyclerView 集成到应用程序中,介绍了如何通过插入不同的布局管理器来定制 RecyclerView的布局策略,并介绍了如何处理项单击事件和通知 RecyclerView 数据源更改。

有关 的详细信息 RecyclerView,请参阅 RecyclerView 类参考