Как устранить скачки (пропуск) TabLayout в Android TV, когда имеется более 64 вкладок? - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь реализовать навигацию по вкладкам в приложении для Android TV с помощью TabLayout.Есть много вкладок, поэтому я включил режим «прокрутки».Когда я пытаюсь перемещаться по вкладкам (слева направо) с помощью пульта дистанционного управления индикатор вкладки не перемещается на следующую вкладку, а переходит далеко вправо, и снова и снова, пока не достигнеткакая-то позиция.После того, как эта позиция достигнута, индикатор вкладок начинает двигаться нормально.

Я немного поэкспериментировал и обнаружил, что это ненормальное поведение прокрутки появляется только тогда, когда количество вкладок в TabLayout превышает 64 * 1007.*

Сначала я столкнулся с этой проблемой в TabHost и изменил свой код на использование TabLayout, но проблема сохраняется.Я играл со всеми соответствующими вариантами с различными комбинациями, но ничего не получалось.Ниже приведен фрагмент моего файла макета

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:isScrollContainer="false"
        android:orientation="vertical">

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="10dp"
            android:layout_weight="1"
            android:background="@color/black_opaque"
            android:fillViewport="true"
            android:measureAllChildren="true"
            android:nestedScrollingEnabled="false"
            android:padding="2dp"
            app:tabGravity="center"
            app:tabMode="scrollable"
            app:tabTextAppearance="@style/TextAppearance.AppCompat.Medium" />

        <GridView
            android:id="@+id/gridView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="4" />
    </LinearLayout>

Я записал видео, чтобы показать, как оно выглядит: scroll_skipping.mp4

Чего мне не хватает?Как настроить TabLayout, чтобы избежать такого поведения?

...