Recyclerview Horizontal scrolling, How to display one element in a scroll, like a pager

I need to implement vertical and horizontal scrolling with recyclerView and pragmatically change the orientation of recyclerview with LinearLayoutManager to set the orientation. The problem is that horizontal scrolling shows the next element on the same page. I should show only one element at a time when we scroll, should display the next element, please help me fix this or any suggestion.

**main.xml**

<LinearLayout
    android:id="@+id/recyler_container"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="0dp">
<android.support.v7.widget.RecyclerView
    android:id="@+id/vertical_recycler_view"
    android:layout_below="@id/slelect_scroll"
    android:background="#fff"
    android:layout_width="match_parent"
android:layout_height="wrap_content"/>

**row.xml**

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal"
     android:layout_width="match_parent"
     android:background="#3e56ed"
     android:layout_height="wrap_content">


<TextView
    android:textColor="#FFF"
    android:textSize="18sp"
    android:padding="16dp"
    android:id="@+id/txtView"
    android:text="sample text"
    android:layout_weight="1"
    android:layout_alignParentLeft="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/txtView2"
    android:textColor="#FFF"
    android:textSize="18sp"
    android:padding="16dp"
    android:layout_marginLeft="20dp"
    android:layout_weight=".1"
    android:background="#000"
    android:layout_alignParentRight="true"
    android:text="sample text234"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

Verical scroll

Horizontal scrolling

+4
source share
1 answer

If you want RecyclerView to mimic the behavior of ViewPager -

RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);

LinearLayoutManager layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
SnapHelper snapHelper = new PagerSnapHelper();
recyclerView.setLayoutManager(layoutManager);
snapHelper.attachToRecyclerView(mRecyclerView);
+16

Source: https://habr.com/ru/post/1673215/


All Articles