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);
當滑動到第二個選項卡(並返回第一個選項卡)時,圖標顏色會正確更改。