RecyclerView
RecyclerView — это группа представлений для отображения коллекций; он предназначен для более гибкой замены старых групп представлений, таких как ListView и GridView. В этом руководстве объясняется, как использовать и настраивать RecyclerView в приложениях Xamarin.Android.
RecyclerView
Многие приложения должны отображать коллекции одного типа (например, сообщения, контакты, изображения или песни); часто эта коллекция слишком велика, чтобы она соответствовала экрану, поэтому коллекция представлена в небольшом окне, которое может плавно прокручивать все элементы в коллекции.
RecyclerView
— это мини-приложение Android, отображающее коллекцию элементов в списке или сетке, что позволяет пользователю прокручивать коллекцию. Ниже приведен снимок экрана примера приложения, которое используется 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
и LayoutManager
ViewHolder
работать вместе с вспомогательными классами для поддержкиRecyclerView
.
В нем представлен общий обзор каждого из этих вспомогательных классов и объясняется, как они используются в приложении.
Пример Basic RecyclerView
В этом разделе описаны сведения, предоставляемые в компонентах и функциях RecyclerView, предоставляя реальные примеры реализации различных RecyclerView
элементов для создания приложения для просмотра фотографий в реальном мире.
Расширение примера RecyclerView
В этом разделе добавляется дополнительный код в пример приложения, представленного в примере A Basic RecyclerView, чтобы продемонстрировать, как обрабатывать события щелчка элемента и обновляться RecyclerView
при изменении базового источника данных.
Итоги
В этом руководстве представлено мини-приложение Android RecyclerView
; он объяснил, как добавить RecyclerView
библиотеку поддержки в проекты Xamarin.Android, как RecyclerView
перезагнуть представления, как он применяет шаблон держателя представления для эффективности и как различные вспомогательные классы, составляющие RecyclerView
совместную работу для отображения коллекций. В нем представлен пример кода для демонстрации RecyclerView
интеграции в приложение, он объяснил, как адаптировать RecyclerView
политику макета путем подключения к разным диспетчерам макетов и описано, как обрабатывать события щелчка элемента и уведомлять об RecyclerView
изменениях источника данных.
Дополнительные сведения смRecyclerView
. в справочнике по классу RecyclerView.