Android PagerTabStrip更改第一个&;的颜色;最后标签

Android PagerTabStrip更改第一个&;的颜色;最后标签,android,tabs,android-viewpager,Android,Tabs,Android Viewpager,我有一个ViewPager和一个PagerTabStrip,我想像这样淡出第一个可见和最后一个可见的选项卡 但我还没有找到它如何实现的解决方案。首先,我有一个问题-如何知道标签是最后一个还是第一个?如何检测当前屏幕上是否显示选项卡?或者你 你能告诉我怎么走吗 因此,PagerTabStrip扩展了公共ViewPager。这意味着你可以做类似的事情来增加淡入淡出的效果: pagerTabStrip.getChildAt(0).setAlpha() 另一个问题是何时调用此方法。添加此代码的最佳位

我有一个ViewPager和一个PagerTabStrip,我想像这样淡出第一个可见和最后一个可见的选项卡

但我还没有找到它如何实现的解决方案。首先,我有一个问题-如何知道标签是最后一个还是第一个?如何检测当前屏幕上是否显示选项卡?或者你
你能告诉我怎么走吗

因此,PagerTabStrip扩展了公共ViewPager。这意味着你可以做类似的事情来增加淡入淡出的效果:

pagerTabStrip.getChildAt(0).setAlpha()
另一个问题是何时调用此方法。添加此代码的最佳位置是页面正在更改的位置:

    viewPager.setOnPageChangeListener(new OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int                 positionOffsetPixels) {
            }

            @Override
            public void onPageSelected(int position) {
                //easiest way to implement it here
                int viewsCount = pagerTabStrip.getChildCount();
                pagerTabStrip.getChildAt(0).setAlpha(.5f);
                pagerTabStrip.getChildAt(1).setAlpha(1); // be sure that next element has properly alpha
                pagerTabStrip.getChildAt(viewsCount - 2).setAlpha(1);
                pagerTabStrip.getChildAt(viewsCount - 1).setAlpha(.5f);
            }

            @Override
            public void onPageScrollStateChanged(int state) {
            }
    });

若要在用户滚动页面时平滑地更改alpha,则需要在onPageScrolled()方法中执行此操作。您需要根据位置偏移量从0.5到1计算alpha

请张贴你的代码,你如何实现它没有褪色效果。实现它的方式取决于您使用的适配器