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

Android 如何在PagerTiltleStrip中设置所选选项卡的背景色,android,android-fragments,android-viewpager,viewpagerindicator,Android,Android Fragments,Android Viewpager,Viewpagerindicator,当我试图更改PagerTitleStrip中所选选项卡的颜色时,我能够更改整个条带的颜色。但这不是我想要的 如何做到这一点?有人能帮忙吗?终于明白了!考虑使用PagerTaskStrip而不是PagerTitleStrip tabStrip = (MyPagerTabStrip) findViewById(R.id.pager_title_strip); tabStrip.setBackgroundColor(Color.rgb(240, 240, 240));

当我试图更改PagerTitleStrip中所选选项卡的颜色时,我能够更改整个条带的颜色。但这不是我想要的


如何做到这一点?有人能帮忙吗?

终于明白了!考虑使用PagerTaskStrip而不是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));

花了一天的时间研究它

终于明白了!考虑使用PagerTaskStrip而不是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));

花了一天的时间研究它

你也可以用PagerTitleStrip来做

  • 在主要活动中实现ViewPager.OnPageChangeListener
  • 为您的ViewPager放置设置页面更改侦听器

    MyViewPager.setOnPageChangeListener(此)

  • 然后超越了传统方法 在页面上滚动, 在已选定的网页上, onPageScrollStateChanged

  • 我们只需要将代码放入onPageSelected(int位置)方法中 比如如果你有5页,不管你需要什么 -在主代码中声明pagerTitleStrip

        PagerTitleStrip pagerTitleStrip;
    
    • 用一种新的方法

      PagerTitleStrip = (PagerTitleStrip) findViewById(R.id.title);
      
    • R.id.title是主版面中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来完成

      • 在主要活动中实现ViewPager.OnPageChangeListener
      • 为您的ViewPager放置设置页面更改侦听器

        MyViewPager.setOnPageChangeListener(此)

      • 然后超越了传统方法 在页面上滚动, 在已选定的网页上, onPageScrollStateChanged

      • 我们只需要将代码放入onPageSelected(int位置)方法中 比如如果你有5页,不管你需要什么 -在主代码中声明pagerTitleStrip

            PagerTitleStrip pagerTitleStrip;
        
        • 用一种新的方法

          PagerTitleStrip = (PagerTitleStrip) findViewById(R.id.title);
          
        • R.id.title是主版面中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
        而不是
        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

        我希望在选中文本时更改文本的颜色&我在ViewPager的onPageSelected方法中执行此操作,但在调用pagerTitleStrip.getChildCount()时执行此操作;我得到了价值3,但我在列表中有4个标题。由于这个原因,我无法解决我的问题。我希望在选中文本时更改文本的颜色&这是我在ViewPager的onPageSelected方法中执行的操作,但在调用pagerTitleStrip.getChildCount()时执行的操作;我得到了价值3,但我在列表中有4个标题。由于这个原因,我无法解决我的问题。@user1327911:我们也可以这样做吗,请看这个问题@user1327911:我们也可以这样做吗,请看这个问题