android TabLayout 更改所选选项卡图标的颜色,显示暗白色
android TabLayout changing color of selected tab icon showing dim white color
我使用了带有 android 设计库图像的选项卡布局。将所选选项卡图标的颜色更改为白色时,白色显示不完美,而是显示暗淡的白色。如何在所选标签上显示完美的白色?
slidingTabLayout.getTabAt(0).setIcon(R.drawable.ic_tab_recent);
slidingTabLayout.getTabAt(1).setIcon(R.drawable.ic_tab_profile);
slidingTabLayout.getTabAt(2).setIcon(R.drawable.ic_tab_contacts);
slidingTabLayout.getTabAt(3).setIcon(R.drawable.ic_tab_settings);
slidingTabLayout.getTabAt(0).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(1).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(2).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(3).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
我通过更改所有颜色(Color.WHITE、Color.BLUE)进行了检查,但 drawable.It 对我不起作用。后来,我检查了使用的可绘制对象是棕色的。更改可绘制对象的白色颜色后,它对我有用。
由于 PorterDuff.Mode.SRC_IN,它正在绘制棕色可绘制对象。有关 PorterDuff.Mode
的更多信息
我使用了带有 android 设计库图像的选项卡布局。将所选选项卡图标的颜色更改为白色时,白色显示不完美,而是显示暗淡的白色。如何在所选标签上显示完美的白色?
slidingTabLayout.getTabAt(0).setIcon(R.drawable.ic_tab_recent);
slidingTabLayout.getTabAt(1).setIcon(R.drawable.ic_tab_profile);
slidingTabLayout.getTabAt(2).setIcon(R.drawable.ic_tab_contacts);
slidingTabLayout.getTabAt(3).setIcon(R.drawable.ic_tab_settings);
slidingTabLayout.getTabAt(0).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(1).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(2).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.getTabAt(3).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
slidingTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
我通过更改所有颜色(Color.WHITE、Color.BLUE)进行了检查,但 drawable.It 对我不起作用。后来,我检查了使用的可绘制对象是棕色的。更改可绘制对象的白色颜色后,它对我有用。
由于 PorterDuff.Mode.SRC_IN,它正在绘制棕色可绘制对象。有关 PorterDuff.Mode
的更多信息