gpt4 book ai didi

android - 使用位置更改 PagerTabStrip 的背景颜色

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:23 26 4
gpt4 key购买 nike

我有一个 ViewPager,我使用 switch 和 case 在 fragment 之间移动。我可以更改每个位置的标题,但我也想更改每个位置的背景颜色。

public PagerTabStrip titleStrip;
titleStrip.setBackgroundColor(Color.DKGRAY);

在我的 onCreateView 中使用它设置永久背景色。我的想法是使用 titleStrip.setBackgroundColor(Color.DKGRAY);我在哪里切换 fragment 或更改标题。但它不能正常工作。有时颜色会改变,有时不会,有时会在错误的 fragment 中改变。

这是我切换 fragment 的代码:

@Override
public Fragment getItem(int position) {

switch (position) {

case 0: titleStrip.setBackgroundColor(Color.DKGRAY); // These
titleStrip.setTextColor(Color.WHITE); // This doesn't work either

return new Fragment0();

case 1:
return new Fragment1();
case 2:
return new Fragment3();
}
return null;
}

最佳答案

首先,让用户在 createView 时获得 titleStrip:

titleStrip = (PagerTabStrip) pagerView.findViewById(R.id.pager_title_strip);

然后,你可以将OnPageChangeListener添加到ViewPager,你可以在onPageSelected方法中做任何你想做的事情:

mPager.setOnPageChangeListener(new OnPageChangeListener() {

@Override
public void onPageSelected(int position) {
switch (position) {
case 0:
titleStrip.setBackgroundColor(Color.BLUE);
break;

case 1:
titleStrip.setBackgroundColor(Color.GRAY);
break;
}
}

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}

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

关于android - 使用位置更改 PagerTabStrip 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17833455/

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