如何在PagerTiltleStrip中设置所选选项卡的背景颜色

时间:2013-09-03 20:39:25

标签: android android-fragments android-viewpager viewpagerindicator

我尝试更改PagerTitleStrip中所选标签的颜色,我能够更改整个条带的颜色。但这不是我想要的。

如何实现这一目标?任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

您也可以使用PagerTitleStrip。

  1. 在您的主要活动中实施 ViewPager.OnPageChangeListener
  2. 为您的ViewPager添加 setOnPageChangeListener

    MyViewPager.setOnPageChangeListener(本);

  3. 然后覆盖方法 onPageScrolled, 使用onPageSelected, onPageScrollStateChanged

  4. 我们只需要将代码放在 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