SlidingTabLayout text&背景颜色定制

时间:2016-05-08 08:10:00

标签: android tabs selector

首先,当我选择一个标签时,它只会在我按下它时改变颜色,但是在选择标签后,颜色会保持为未选择状态的颜色。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@color/white" />
    <item android:state_focused="true" android:color="@color/white" />
    <item android:state_pressed="true" android:color="@color/white" />
    <item android:color="@color/black" />
</selector>

populateTabStrip()方法:

tabTitleView.setTextColor(getResources().getColorStateList(R.color.tab_text_color_selector));

其次,标签的背景......我无法弄清楚如何在这里使用选择器。

**不推荐使用getColorStateList,因此欢迎任何替换它的建议。

2 个答案:

答案 0 :(得分:0)

也请尝试

viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){                 @覆盖                 public void onPageScrolled(int position,float positionOffset,int positionOffsetPixels){

            }

            @Override
            public void onPageSelected(int position) {

                switch (position){
                    case 0:
                        tabLayout.setTabTextColors(ColorStateList.valueOf(Color.CYAN));
                        break;
                    case 1:
                        tabLayout.setTabTextColors(ColorStateList.valueOf(Color.GREEN));
                        break;
                    case 2:
                        tabLayout.setTabTextColors(ColorStateList.valueOf(Color.YELLOW));
                        break;

                }

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

答案 1 :(得分:-2)

请试试

tabLayout.setTabTextColors(ColorStateList.valueOf(Color.WHITE));