Вывод элементов в RecyclerView из центра

Такая проблема необходимо выводить элементы в RecyclerView, количество возможных элементов от 1 до 9, как сделать что бы данные элементы выводились из центра RecyclerView

введите сюда описание изображения

Код создания RecyclerView и создание адаптера:

 <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/cards_users"
        android:layout_width="match_parent"
        android:layout_height="120dp"
        android:layout_gravity="center"
        app:layout_constraintTop_toBottomOf="@+id/game_map"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/bottom_menu">

    </androidx.recyclerview.widget.RecyclerView>


    gameUserClass=deserializeGameCardsList(server_answer);
    cardsUser=findViewById(R.id.cards_users);
    RecyclerView.LayoutManager layoutManager1 = new LinearLayoutManager(GameActivity.this, LinearLayoutManager.HORIZONTAL, false);
    cardsUser.setLayoutManager(layoutManager1);
    cardsPlayerAdapter= new CardsPlayerAdapter(gameUserClass.getFirstPlayer());
    cardsUser.setAdapter(cardsPlayerAdapter);

Ответы (1 шт):

Автор решения: Сергей Бувака

Я не очень хорошо понимаю, что конкретно вам необходимо. Но есть 2 варианта, простой (но который может вам не помочь) и сложный.

Простой заключается в том, чтоб расположить ваш RecyclerView в центре экрана и сделать ему размер wrap_content и тогда при появлении 1-го элемента он появится в середине, при появлении второго RecylerView расширится и оба элемента тоже будут посередине. Я не уверен, что именно это поведение вам необходимо, но можете попробовать.

Сложный это писать свой LayoutManager. Это задача вообще нетривиальная, но зато тут вы можете сделать именно то поведение которое вам необходимо. Можете посмотреть как это делать вот тут и тут.

И да пребудет с вами сила если вы решите пойти сложным путем=)))

→ Ссылка