gpt4 book ai didi

android - PagerTabStrip 更改第一个和最后一个标签的颜色

转载 作者:行者123 更新时间:2023-11-29 01:41:24 26 4
gpt4 key购买 nike

我有一个 ViewPager 和一个 PagerTabStrip,我想像这样淡出第一个可见和最后一个可见的标签 enter image description here

但我还没有解决它如何实现的问题。首先我有一个问题 - 如何知道标签是最后还是第一个?如何检测现在屏幕上是否显示了一个选项卡?或者也许你可以指导我正确的方法吗?

最佳答案

因此,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() 方法中进行。您需要根据 positionOffset 计算从 0.5 到 1 的 alpha。

关于android - PagerTabStrip 更改第一个和最后一个标签的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com