我试图更改 PagerTitleStrip 中选定选项卡的颜色,我能够更改整个条带的颜色。但这不是我想要的。
如何做到这一点?任何人都可以帮忙吗?
我试图更改 PagerTitleStrip 中选定选项卡的颜色,我能够更改整个条带的颜色。但这不是我想要的。
如何做到这一点?任何人都可以帮忙吗?
您也可以使用 PagerTitleStrip 来完成。
为您的 ViewPager放置setOnPageChangeListener
MyViewPager.setOnPageChangeListener(this);
然后覆盖方法 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);
}
如果您仍然想使用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
.
终于想通了!考虑 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));
花了一天时间研究!