Как отключить анимацию прокрутки tabLayout, прокручивая ее программно? - PullRequest
0 голосов
/ 01 апреля 2020

Я изменяю положение макета вкладки программно, когда начинается действие, но при параметрическом изменении положения макета вкладки он дает анимацию прокрутки с 0-й вкладки на вкладку, которую я переключаю на

Код, который я использую,

new Handler().postDelayed(() -> Objects.requireNonNull
(binding.tabLayout.getTabAt(5)).select(), 100);

Я также пытался

binding.tabLayout.setSmoothScrollingEnabled(false);

Тем не менее каждый раз, когда он дает анимацию прокрутки, которую я не хочу. Есть ли возможность добиться этого?

1 Ответ

0 голосов
/ 01 апреля 2020

Вы имеете в виду анимацию прокрутки подчеркивания TabLayout? Вы можете установить

app:tabIndicatorHeight="0dp"

В качестве примера:

<android.support.design.widget.TabLayout
    android:id="@+id/comtabs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    app:tabIndicatorHeight="0dp"
    app:tabPaddingStart="0dp"
    app:tabPaddingEnd="0dp"
    app:tabMode="fixed"
    app:tabGravity="fill"
    android:background="@android:color/white" />

Но если вы ссылаетесь на содержимое вкладки, которое происходит из-за viewpager, поэтому при нажатии на вкладку вам нужно чтобы использовать этот метод просмотра:

mViewPager.setCurrentItem(position, false)

2-й параметр - smoothScroll, если false, вы отключаете анимацию прокрутки

...