首先,当我选择一个标签时,它只会在我按下它时改变颜色,但是在选择标签后,颜色会保持为未选择状态的颜色。
<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,因此欢迎任何替换它的建议。
答案 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));