Поделиться через


RecyclerView

RecyclerView — это группа представлений для отображения коллекций; он предназначен для более гибкой замены старых групп представлений, таких как ListView и GridView. В этом руководстве объясняется, как использовать и настраивать RecyclerView в приложениях Xamarin.Android.

RecyclerView

Многие приложения должны отображать коллекции одного типа (например, сообщения, контакты, изображения или песни); часто эта коллекция слишком велика, чтобы она соответствовала экрану, поэтому коллекция представлена в небольшом окне, которое может плавно прокручивать все элементы в коллекции. RecyclerView — это мини-приложение Android, отображающее коллекцию элементов в списке или сетке, что позволяет пользователю прокручивать коллекцию. Ниже приведен снимок экрана примера приложения, которое используется RecyclerView для отображения содержимого почтового ящика в вертикальном списке прокрутки:

Пример приложения с помощью RecyclerView для перечисления сообщений в папке

RecyclerView предлагает две убедительные функции:

  • Она имеет гибкую архитектуру, которая позволяет изменять его поведение путем подключения к предпочитаемым компонентам.

  • Она эффективна с большими коллекциями, так как она повторно использует представления элементов и требует использования держателей представлений для кэширования ссылок на представление.

В этом руководстве объясняется, как использовать RecyclerView в приложениях Xamarin.Android. В нем объясняется, как добавить RecyclerView пакет в проект Xamarin.Android, а также описывается, как RecyclerView функции в обычном приложении. В реальных примерах кода показано, как интегрироваться RecyclerView в приложение, как реализовать щелчки по представлению элементов и как обновить при RecyclerView изменении базовых данных. В этом руководстве предполагается, что вы знакомы с разработкой Xamarin.Android.

Требования

Хотя RecyclerView часто связан с Android 5.0 Lollipop, он предлагается в качестве библиотеки поддержки — RecyclerView работает с приложениями, предназначенными для уровня 7 (Android 2.1) и более поздних версий. Для использования RecyclerView в приложениях на основе Xamarin необходимо следующее:

  • Xamarin.Android — Xamarin.Android 4.20 или более поздней версии необходимо установить и настроить с помощью Visual Studio или Visual Studio для Mac.

  • Проект приложения должен включать пакет Xamarin.Android.Support.v7.RecyclerView . Дополнительные сведения об установке пакетов NuGet см. в пошаговом руководстве. Включение NuGet в проект.

Обзор

RecyclerView можно считать заменой ListView GridView мини-приложений и мини-приложений в Android. Как и его предшественники, RecyclerView предназначен для отображения большого набора данных в небольшом окне, но RecyclerView предлагает дополнительные параметры макета и лучше оптимизирован для отображения больших коллекций. Если вы знакомы с ListView, существует несколько важных различий между ListView и RecyclerView:

  • RecyclerView немного сложнее использовать: необходимо написать больше кода для использования RecyclerView по сравнению с ListView.

  • RecyclerView не предоставляет предопределенный адаптер; Необходимо реализовать код адаптера, который обращается к источнику данных. Однако Android включает несколько стандартных адаптеров, которые работают с ListView и GridView.

  • RecyclerView не предлагает событие щелчка элемента, когда пользователь нажимает элемент; Вместо этого события щелчка элементов обрабатываются вспомогательными классами. В отличие от этого, ListView предлагает событие щелчка по элементу.

  • RecyclerView повышает производительность путем перезапуска представлений и применения шаблона держателя представления, что устраняет ненужные подстановки ресурсов макета. Использование шаблона держателя представления является необязательным.ListView

  • RecyclerView основан на модульной конструкции, которая упрощает настройку. Например, можно подключить другую политику макета без значительных изменений кода в приложении. Напротив, ListView относительно монолитный в структуре.

  • RecyclerView включает встроенные анимации для добавления и удаления элементов. ListView Анимации требуют дополнительных усилий от части разработчика приложений.

Разделы

Части и функции RecyclerView

В этом разделе объясняется, как Adapterи LayoutManagerViewHolder работать вместе с вспомогательными классами для поддержкиRecyclerView. В нем представлен общий обзор каждого из этих вспомогательных классов и объясняется, как они используются в приложении.

Пример Basic RecyclerView

В этом разделе описаны сведения, предоставляемые в компонентах и функциях RecyclerView, предоставляя реальные примеры реализации различных RecyclerView элементов для создания приложения для просмотра фотографий в реальном мире.

Расширение примера RecyclerView

В этом разделе добавляется дополнительный код в пример приложения, представленного в примере A Basic RecyclerView, чтобы продемонстрировать, как обрабатывать события щелчка элемента и обновляться RecyclerView при изменении базового источника данных.

Итоги

В этом руководстве представлено мини-приложение Android RecyclerView ; он объяснил, как добавить RecyclerView библиотеку поддержки в проекты Xamarin.Android, как RecyclerView перезагнуть представления, как он применяет шаблон держателя представления для эффективности и как различные вспомогательные классы, составляющие RecyclerView совместную работу для отображения коллекций. В нем представлен пример кода для демонстрации RecyclerView интеграции в приложение, он объяснил, как адаптировать RecyclerViewполитику макета путем подключения к разным диспетчерам макетов и описано, как обрабатывать события щелчка элемента и уведомлять об RecyclerView изменениях источника данных.

Дополнительные сведения смRecyclerView. в справочнике по классу RecyclerView.