2017-02-21 8 views
-1

Я решил поиграть с пользовательским LayoutManager для моего RecyclerView. К сожалению, когда я установил его на RecyclerView, ничего не появилось. Только когда я заменяю его LinearLayoutManager, все изображения отображаются.RecyclerView.LayoutManager не показывает вид

Вот мой LayoutManager:

public class MyLayoutManager extends RecyclerView.LayoutManager{ 

    @Override 
    public RecyclerView.LayoutParams generateDefaultLayoutParams() { 
     return new RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.MATCH_PARENT); 
    } 

    @Override 
    public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) { 
     View view = recycler.getViewForPosition(0); 
     addView(view); 
     measureChildWithMargins(view, 0, 0); 
     layoutDecorated(view, 0, 0, getWidth(), getHeight()); 
    } 
} 

Пожалуйста, дайте мне подсказку, как применять LayoutManager правильно, спасибо.

ответ

0

Нет сомнений в том, что лучший способ, чтобы читать исходный код LinearLayoutManager или GridLayoutManager

0

LayoutManager - помогает в позиционировании элементов в RecyclerView

enter image description here

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

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

  1. LinearLayoutManager показывает детали в вертикальном или горизонтальном прокручиваемом списке.
  2. GridLayoutManager показывает пункты в сетке.
  3. StaggeredGridLayoutManager показывает элементы в шахматном порядке.

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

Хорошее example

 Смежные вопросы

  • Нет связанных вопросов^_^