Перевод документации официального сайта developer.android.com

<<<Предыдущий урок

Чтобы создать комплекс списков и карточек с применением material design в вашем приложении, вы можете использовать виджеты RecyclerView и CardView.

Подробнее об этом читайте также Пример использования CardView и RecyclerView в Android

Создайте списки

Виджет RecyclerView — более усовершенствованная и гибкая версия ListView. Этот виджет — контейнер для отображения больших наборов данных, которые могут быть прокручены очень эффективно, поддерживая ограниченное количество view. Используйте виджет RecyclerView, когда у вас есть коллекции данных, элементы которых изменяются во время выполнения, на основе действий пользователя или сетевых событий.

Класс RecyclerView упрощает отображение и обработку больших наборов данных, обеспечивая:

  • Менеджеры по расположению элементов layout’a
  • Анимации для операций, таких как удаление или добавление элементов

Вы так же можете устанавливать layout менеджеры и анимации для виджетов RecylerView.

Рисунок 1. Виджет RecyclerView.

Рисунок 1. Виджет RecyclerView.

Рисунок 2. Список с RecyclerView.

Рисунок 2. Список с RecyclerView.

Чтобы использовать виджет RecyclerView, вы должны установить адаптер и layout менеджер. Чтобы создать адаптер, унаследуйтесь от класса RecyclerView.Adapter. Детали реализации зависят от особенностей вашего набора данных типа views. Для получения дополнительной информации посмотрите примеры ниже.

Layout менеджер располагает элементы view в RecyclerView и определяет, когда снова использовать элементы view, которые больше не видны пользователю. Для повторного использования view, layout менеджер может попросить адаптер заменить содержимое view другими элементами из набора данных. Таким образом повторное использование view повышает производительность путем избежания создания ненужных view или выполнения затратного поиска findViewById().

RecyclerView предоставляет эти встроенные layout менеджеры:

  • LinearLayoutManager показывает элементы в списке с вертикальной или горизонтальной прокруткой.
  • GridLayoutManager показывает элементы в сетке.
  • StaggeredGridLayoutManager показывает элементы в ступенчатой сетке.

Чтобы создать пользовательский layout менеджер, унаследуйтесь от класса RecyclerView.LayoutManager.

Анимации

Анимации для добавления и удаления элементов по умолчанию включены в RecyclerView. Чтобы настроить эти анимации, унаследуйтесь от класса RecyclerView.ItemAnimator и используйте метод RecyclerView.setItemAnimator().

Примеры

Следующий пример кода показывает, как добавить RecyclerView в layout:

После того, как вы добавили виджет RecyclerView в layout, получив дескриптор объекта, подключите его к layout менеджеру и подключите адаптер к данным, которые будут использоваться:

Адаптер обеспечивает доступ к элементам в наборе данных, создает view для элементов и заменяет содержимое некоторых view новыми элементами данных, когда исходный элемент уже не виден. Следующий пример кода показывает простую реализацию для набора данных, который состоит из массива строк выведенных на экран с помощью виджета TextView:

Создайте карточки

Рисунок 3. Примеры карточек

Рисунок 3. Примеры карточек

CardView наследуется от класса FrameLayout и позволяет отображать информацию внутри карточки. Виджеты CardView могут иметь тени и закругленные углы.

Чтобы создать карточку с тенью, используйте атрибут card_view:cardElevation. CardView использует реальную высоту и динамические тени на Android 5.0 (уровень API 21) и выше, а на более ранних версиях возвращается обратно к программным теням. Для получение дополнительной информации смотрите поддержка совместимости.

Используйте эти свойства, чтобы настроить внешний вид виджета CardView:

  • Чтобы установить угловой радиус в макетах, используйте атрибут card_view:cardCornerRadius.
  • Чтобы установить угловой радиус в коде, используйте метод CardView.setRadius.
  • Чтобы установить цвет фона карточки, используйте атрибут card_view:cardBackgroundColor.

Следующий пример кода показывает, как включить виджет CardView в макет:

Для получения более подробной информации, смотрите справку по API для CardView.

Добавьте зависимости

Виджеты RecyclerView и CardView являются частью вспомогательных библиотек v7. Чтобы использовать эти виджеты в вашем проекте, добавьте эти Gradle зависимости к вашему приложению:

 

Следующий урок>>>

 

Эта статья является переводом. Ссылка на источник.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License

 

Урок 3. Создание списков и карточек в android приложениях с Material Design обновлено: Июнь 6, 2015 автором: admin

  1. А как сделать клик по пункту меню в recyclerview?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*
Website