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

的更多信息