динамически определить количество столбцов для recycler view:
recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
float columnWidth = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 160,
getActivity().getResources().getDisplayMetrics());
int width = recyclerView.getWidth();
int columnCount = Math.round(width / columnWidth);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), columnCount);
recyclerView.setLayoutManager(gridLayoutManager);
recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
Выдает Span count should be at least 1. Provided 0
потому что recycler.getWidth() на данном этапе остается 0. При этом в старом проекте от big nerd ranch эта конструкция работает.
Нагуглил https://medium.com/@vit.onix/view-getwidth-%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%89%D0%B0%D0%B5%D1%82-0-7c6fc1feba8
Но для меня это сложновато.
Можно ли это как-то решить? Не хочется делать обычный список...
вот это попробуй recyclerView.getViewTreeObserver().addOnPreDrawListener
Обсуждают сегодня