Android Recyclerview с динамикой c количество элементов в строке - PullRequest
0 голосов
/ 09 июля 2020

Мне нужно создать адаптер просмотра ресайклера для x элементов, размещенных в строках. Количество элементов в строке должно настраиваться некоторой константой в коде. Каждый элемент содержит заголовок c фоновое изображение и два других изображения, размещенных поверх фона на основе данных из объекта элемента. Пожалуйста, помогите мне, как добиться этого вида

Вот царапина, как должна выглядеть строка

РЕДАКТИРОВАТЬ: если константа для строки, например, 4, а у меня 11 элементов, мне нужно также создать несколько строк

1 Ответ

0 голосов
/ 09 июля 2020

Используйте горизонтальный recyclerview.

// EDIT

RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
    recycler.setLayoutManager(layoutManager);
    recycler.setNestedScrollingEnabled(false);
    recycler.setItemAnimator(new DefaultItemAnimator());
    int spacing = getResources().getDimensionPixelSize(R.dimen.zero);
    playBinding3.recycler.addItemDecoration(new SpacesItemDecoration(spacing));

    HorizontalAdapter horizontalAdapter = new HorizontalAdapter(list, this);
    recycler.setAdapter(horizontalAdapter);

Где recycler - это ваш recyclerview и адаптер Recyclerview. Используйте recyclerview с cardviews, и вы легко сможете добиться такого вида. 'list' - это ваш список элементов, которые нужно показать.

Я думаю, вы ищете повторный просмотр с GridLayout, где каждая строка элементов имеет несколько столбцов. Это все?

layoutManager = new GridLayoutManager(context, 4);
    recycler.setLayoutManager(layoutManager);
    recycler.setNestedScrollingEnabled(false);
    recycler.setItemAnimator(new DefaultItemAnimator());
    int spacing = getResources().getDimensionPixelSize(R.dimen.onespacing);
    recycler.addItemDecoration(new SpacesItemDecoration(spacing));

Где 4 - количество столбцов в строке. Надеюсь, я правильно вас понял.

...