我想在滚动或“滑动”到TabLayout中的下一个标签时在两种颜色之间进行插值。为此,我需要一些方法来知道用户何时在选项卡之间滑动。我尝试使用TabLayout.OnScrollChangeListener,但从未调用过该方法。是否可以知道用户何时滑动到新标签页,如果是,如何操作?

编辑:

libraryTabs.setOnScrollChangeListener(new TabLayout.OnScrollChangeListener() {

            @Override
            public void onScrollChange(View view, int i, int i1, int i2, int i3) {

            }
        });


从未被调用。

最佳答案

我认为要实现您想要的,那么您将需要一个ViewPage
像这样的东西

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
        }
    });

关于android - 在TabLayout上获得水平滚动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39949852/

10-12 22:30