【问题标题】:android TabLayout changing color of selected tab icon showing dim white colorandroid TabLayout更改所选选项卡图标的颜色,显示暗白色
【发布时间】:2016-06-04 02:57:05
【问题描述】:

我使用了带有 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) {

    }
});

【问题讨论】:

  • 你试过用#FFFFFF 代替 Color.WHITE 吗?
  • @Le_Master 我用过,它显示与 Color.WHITE 相同的颜色
  • 我也在做同样的事情,但它不起作用@RajeshKhadka
  • drawable的颜色是什么? @Erum

标签: android android-tablayout porter-duff


【解决方案1】:

我通过更改所有颜色(Color.WHITE,Color.BLUE)和可绘制来检查。它对我不起作用。后来,我检查了使用的可绘制对象,它是棕色的。更改可绘制白色的颜色后,它对我有用。

由于 PorterDuff.Mode.SRC_IN,它正在绘制棕色可绘制对象。有关PorterDuff.Mode的更多信息

【讨论】:

  • 英雄。 PorterDuff.Mode.SRC_IN 是默认黑色图标的技巧。
猜你喜欢
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2022-12-20
  • 1970-01-01
相关资源
最近更新 更多