setRotationY (180) для повторного просмотра или просмотра, создающего проблему прокрутки в Android 9 (API 28) - PullRequest
0 голосов
/ 10 января 2019

Я управляю содержимым RTL, реализовав setRotationY для recyclerview и viewpager, но похоже, что он создает проблемы прокрутки / прокрутки только на устройствах с API 28, в противном случае он работает отлично. Это прекрасно работает, если я удаляю setRotationY. Кто-нибудь сталкивался с этой проблемой? Если да, то как это решить?

P.S. : Вращение 360f не влияет на прокрутку, но вращение 180f оказывает влияние.

Ответы [ 4 ]

0 голосов
/ 19 мая 2019

У меня была эта проблема с ViewPager на API 28 из-за ViewPager.setRotatingY (180), чтобы я мог поддерживать RTL, я пытался заменить вращение layoutDirection = "locale", но это не сработало. Я нашел библиотеку для поддержки RTL ViewPager вот ссылка https://github.com/duolingo/rtl-viewpager.

Добавьте его в зависимости и просто убедитесь, что вы добавили layoutDirection = "locale" в 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"
     />

Обновление

ViewPager2 дружественен к локали, поэтому он автоматически изменит направление пролистывания в соответствии с текущей локалью устройства.

Некоторые полезные ссылки по реализации ViewPager2:

Документы для Android

Образец

0 голосов
/ 06 мая 2019

Проверка текущей версии 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);


    }
0 голосов
/ 06 мая 2019

Проблема была с этой библиотекой скользящих вкладок, которую я использовал. Это отлично сработало бы, как и для других ответов, нам просто нужно добавить атрибут layoutDirection в viewpager.

0 голосов
/ 30 января 2019

Вы также можете использовать layoutDirection в своем обзоре или окне просмотра, например:

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

Или раздутый вид. Так что будет отлично работать.

...