#android
#Android
Вопрос:
Я хочу интерполировать между двумя цветами во время прокрутки или «прокрутки» до следующей вкладки в таблице. Для этого мне нужен какой-то способ узнать, когда пользователь переключается между вкладками. Я пробовал использовать TabLayout.OnScrollChangeListener но метод никогда не вызывается. Можно ли узнать, когда пользователь переходит на новую вкладку, и если да, то как?
Редактировать:
libraryTabs.setOnScrollChangeListener(new TabLayout.OnScrollChangeListener() {
@Override
public void onScrollChange(View view, int i, int i1, int i2, int i3) {
}
});
никогда не вызывается.
Ответ №1:
я думаю, чтобы достичь того, чего вы хотите, вам понадобится страница просмотра, что-то вроде этого
ViewPager mViewPager;
TabLayout mSlidingTabs;
mSlidingTabs = (TabLayout) findViewById(R.id.tabs);
mSlidingTabs.setupWithViewPager(mViewPager);
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
Log.w(TAG, "onPageScrolled");
// do what you want
}
@Override
public void onPageSelected(int position) {
Log.w(TAG, "onPageSelected");
// do what you want
}
@Override
public void onPageScrollStateChanged(int state) {
Log.w(TAG, "onPageScrollStateChanged");
// do what you want
}
});
Комментарии:
1. Спасибо, это именно то, что я искал.
Ответ №2:
Попробуйте это.
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
//Do whatever you want here.
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
Комментарии:
1. Спасибо, но разве это не работает только при выборе вкладки, а не при ее прокрутке? В настоящее время я использую этот метод для переключения цветов между вкладками.
2. Попробуйте код и посмотрите, работает ли он. У меня отлично работает, если реализовано с помощью ViewPager. Просто любопытно, используете ли вы какие-либо библиотеки вкладок?