Skip to content Skip to sidebar Skip to footer

Setrotationy(180) On Recyclerview Or Viewpager Creating Scroll Issue In Android 9(api 28)

I am managing RTL contents by implementing setRotationY for recyclerview and viewpagers but it seems that it is creating scroll/swipe issues in only devices with API 28 otherwise i

Solution 1:

I had this issue with ViewPager on API 28 because of ViewPager.setRotatingY(180) so that i can support RTL, I've tried replacing rotation with layoutDirection="locale", but it didn't work. I found a library for supporting RTL ViewPager here's a link https://github.com/duolingo/rtl-viewpager.

Add it to dependencies and just make sure you add layoutDirection="locale" to the RtlViewPager

<com.duolingo.open.rtlviewpager.RtlViewPager
        android:layoutDirection="locale"
        android:keepScreenOn="true"
        android:id="@+id/quranViewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:animateLayoutChanges="true"
     />

Update

ViewPager2 is locale friendly so it's automatically will change swipe direction according to the current device locale.

Some helpful links on the implementation of ViewPager2:

Android docs

Sample

Solution 2:

You can also use the layoutDirection in your recyclerview or viewpager like:

 <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layoutDirection="locale"/>

Or the inflated View. So it will work perfectly.

Solution 3:

Check for the current version of SDK :

if(Build.VERSION.SDK_INT >= 28) {
        // Call some material design APIs here

        recyclerView.setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE);

    } else {
        // Implement this feature without material design
        recyclerView.setRotationY(180);


    }

Solution 4:

Issue was with this sliding tab strip library I was using. It would work perfectly as per other answers, we just have to add layoutDirection attribute to viewpager.

Post a Comment for "Setrotationy(180) On Recyclerview Or Viewpager Creating Scroll Issue In Android 9(api 28)"