0
我想改变我的TabLayout中的选项卡图标的颜色,实际上我使用addOnTabSelectedListener来实现这一点,但这只适用于当我在选项卡之间滑动时。所以我希望第一个选项卡的图标颜色与更改选项卡时的颜色相同。如何以编程方式调用ViewPagerOnTabSelectedListener?
我试过viewPager.setCurrentItem(),但这只适用于传递的索引不同于0(第一个标签)的情况。
那么,如何以编程方式调用ViewPagerOnTabSelectedListener?
这是我的代码:
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager) {
@Override
public void onTabSelected(TabLayout.Tab tab){
super.onTabReselected(tab);
int tabIconColor = ContextCompat.getColor(MainActivity.this,R.color.prehipertension);
tab.getIcon().setColorFilter(tabIconColor, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab){
super.onTabUnselected(tab);
int tabIconColor = ContextCompat.getColor(MainActivity.this,R.color.blancoTransparencia);
tab.getIcon().setColorFilter(tabIconColor, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
int tabIconColor = ContextCompat.getColor(MainActivity.this,R.color.blanco);
tab.getIcon().setColorFilter(tabIconColor, PorterDuff.Mode.SRC_IN);
}
});
viewPager.setCurrentItem(0);
当滑动到第二个选项卡(并返回第一个选项卡)时,图标颜色会正确更改。