我尝试更改PagerTitleStrip中所选标签的颜色,我能够更改整个条带的颜色。但这不是我想要的。
如何实现这一目标?任何人都可以帮忙吗?
答案 0 :(得分:1)
您也可以使用PagerTitleStrip。
为您的ViewPager添加 setOnPageChangeListener
MyViewPager.setOnPageChangeListener(本);
然后覆盖方法 onPageScrolled, 使用onPageSelected, onPageScrollStateChanged
我们只需要将代码放在 onPageSelected(int position)方法中 就像你有5页一样,但不管你需要什么 - 在主代码中声明pagerTitleStrip。
PagerTitleStrip pagerTitleStrip;
在onCreateMethod
中PagerTitleStrip = (PagerTitleStrip) findViewById(R.id.title);
R.id.title是main_layout中pagerTitleStrip的id
if(position==0){
pagerTitleStrip.setBackgroundColor(0xFF3D0201);
}
if(position==1){
pagerTitleStrip.setBackgroundColor(0xFF013E10);
}
if(position==2){
pagerTitleStrip.setBackgroundColor(0xFF242F52);
}
if(position==3){
pagerTitleStrip.setBackgroundColor(0xFF60611D);
}
if(position==4){
pagerTitleStrip.setBackgroundColor(0xFF5E2E52);
}
答案 1 :(得分:0)
终于想通了!考虑使用PagerTabStrip而不是PagerTitleStrip。
tabStrip = (MyPagerTabStrip) findViewById(R.id.pager_title_strip);
tabStrip.setBackgroundColor(Color.rgb(240, 240, 240));
tabStrip.getChildAt(1).setPadding(30, 15, 30, 15);
tabStrip.getChildAt(1).setBackgroundResource(R.drawable.background_orange);
tabStrip.setDrawFullUnderline(false);
tabStrip.setTabIndicatorColor(Color.rgb(240,240,240));
花了一天时间研究它!
答案 2 :(得分:0)
如果您仍想使用PagerTitleStrip
而不是PagerTabStrip
,您只需要执行以下操作。
tabStrip = (PagerTitleStrip) findViewById(R.id.pager_title_strip);
tabStrip.setBackgroundColor(Color.rgb(240, 240, 240));
tabStrip.getChildAt(1).setPadding(30, 15, 30, 15);
tabStrip.getChildAt(1).setBackgroundResource(R.drawable.background_orange);
这将允许您设置中间选项卡的背景颜色,而不会显示选项卡指示符,如PagerTabStrip
。