LinearLayoutManager (LinearLayoutManager.HORIZONTAL) не работает - PullRequest
0 голосов
/ 23 октября 2019

Я хочу использовать утилиту горизонтальной прокрутки.

Для этого я использую LinearLayoutManager (LinearLayoutManager.HORIZONTAL), это работает, но для элементов получаются разные отступы.

Снимок экрана -https://i.stack.imgur.com/Mqp8A.png

Макет для фрагмента:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/list_related"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:paddingTop="20dp"
        android:paddingBottom="20dp"
        tools:listitem="@layout/item_2_lenta"/>
</LinearLayout>

Макет для элемента:

<com.google.android.material.card.MaterialCardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:cardCornerRadius="4dp"
    app:cardBackgroundColor="#ff0">
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        ...
        </androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>

UPD

СозданиеlayoutManager

vRelatedStub.setOnInflateListener((viewStub, sView) -> {
    vLabelRelated = sView.findViewById(R.id.label_related);
    vListRelated = sView.findViewById(R.id.list_related);
    vLoaderRelated = createLoaderView(sView, mAdapterRelated);
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext(),
                LinearLayoutManager.HORIZONTAL, false);
    vListRelated.setLayoutManager(layoutManager);
    vListRelated.setAdapter(mAdapterRelated);
});
vRelatedStub.inflate();

1 Ответ

0 голосов
/ 24 октября 2019

Нашли ошибку в моем коде. Дело в том, что я попросил поле для первого элемента в связке, это осталось от вертикального линейного менеджера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...