RecyclerView. Компоненты RecyclerView презентация

Содержание

ScrollView

Слайд 1RecyclerView


Слайд 2


Слайд 3ScrollView


Слайд 4RecyclerView


Слайд 5Компоненты RecyclerView
LayoutManager - размещает элементы
ItemAnimator - анимирует элементы
Adapter - создает элементы
Decorator - дорисовывает элементы
ViewHolder - кеширует

findViewById

Слайд 6LayoutManager
Обязанности LayoutManager’а:
размещает элементы
отвечает за размер элементов
отвечает за то, какие элементы больше

не нужны
отвечает за скроллинг
отвечает за View Focusing т.е. на каком элементе сфокусироваться

Слайд 7LayoutManager
LinearLayoutManager (линейное размещение элементов)
GridLayoutManager (табличное)
StaggeredGridLayoutManager (сложное)


Слайд 8LayoutManager


Слайд 9Adapter
Обязанности Adapter’а:
создание ViewHolder’ов
заполнение ViewHolder’ов информацией
уведомление RecyclerView о том какие элементы изменились
обработка касаний
частичное обновление

данных
управление количеством ViewType’ов

Слайд 10Основное API Adapter
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)

public void onBindViewHolder(ViewHolder holder,

int position)

public int getItemCount()

Слайд 11Методы notifyItemX
notifyDataSetChanged()

notifyItemChanged()
notifyItemInserted()
notifyItemMoved()
notifyItemRemoved()
notifyItemRangeChanged()
notifyItemRangeInserted()
notifyItemRangeRemoved()


Слайд 12Польза от методов notifyItemX
Нет лишних вызовов onBindViewHolder();
Возможность анимировать и перемещать элементы как

угодно
Нет лишних вызовов onCreateViewHolder()

Слайд 13ViewHolder


Слайд 14Для чего нужен ViewHolder?
Кеширование относительно дорогого findViewById
Основной элемент Recycling’а


Слайд 15Жизнь ViewHolder
Layout
Manager
Adapter
Recycler
Pool
Recycler
View
Cache
getViewForPosition
yes


Слайд 16Layout
Manager
Adapter
Recycler
Pool
Recycler
View
Cache
getViewForPosition
bindViewHolder
getViewHolderByType
yes
no
getViewType
Жизнь ViewHolder


Слайд 17Layout
Manager
Adapter
Recycler
Pool
Recycler
View
Cache
getViewForPosition
getViewHolderByType
createViewHolder
no
no
bindViewHolder
Жизнь ViewHolder


Слайд 18Recycler
Pool
Recycler
View
addViewToPool
Есть ли место для еще одного VH типа X
Смерть ViewHolder
yes
no
Смерть ViewHolder


Слайд 19ItemDecorator
ItemDecorator - дополняет представление в зависимости от какой-либо логики

Для чего применяется:
добавление

разделителей и отступов
выделение элементов списка
рисование любого контента за и перед view

Слайд 20ItemDecorator


Круг

Треугольник

Квадрат

Овал
Ромб




Слайд 21ItemDecorator


Слайд 22API ItemDecorator’а
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,

RecyclerView.State state)

public void onDraw(Canvas canvas, RecyclerView parent, RecyclerView.State state)

public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state)

Слайд 23ItemTouchHelper
Drag&Drop
Swipe to dismiss


Слайд 24Drag&Drop


Слайд 25Swipe to dismiss


Слайд 26API ItemTouchHelper
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder)

public boolean onMove(RecyclerView recyclerView,

RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target)

public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction)

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика