在Android设计库中选择更改图标和标题颜色TabLayout

时间:2015-11-17 11:23:24

标签: android android-tablayout

我正在使用TabLayout设计库我想要实现的是

I want to achieve

我已经尝试了很多教程,我可以通过自定义选项卡来实现它,但是当选择选项卡时会出现限制我想要更改文本颜色以及图标的图像可以通过参考我目前读到的任何教程来实现。到目前为止,我已在FragmentStatePagerAdapter

中添加了此内容
public View getTabView(int position) {
    View tab = LayoutInflater.from(mContext).inflate(R.layout.tabbar_view, null);
    TextView tabText = (TextView) tab.findViewById(R.id.tabText);
    ImageView tabImage = (ImageView) tab.findViewById(R.id.tabImage);
    tabText.setText(mFragmentTitles.get(position));
    tabImage.setBackgroundResource(mFragmentIcons.get(position));
    if (position == 0) {
        tab.setSelected(true);
    }
    return tab;
}

1 个答案:

答案 0 :(得分:2)

更新设计库以匹配材料设计"带有图标和文字的标签"规格,因此您不需要自定义标签视图。

但是在当前版本(23.1.1)中,只有文本颜色与规范匹配(标签聚焦 - #fff,tab unfocused - 70%#fff)。因此,您可以使用ColorStateList返回的getTabTextColors()使用DrawableCompat.setTintList(ColorStateList)为图标着色。

尝试使用此要点https://gist.github.com/mikovali/7a89b505cd6306bb94a8。删除行tabs.setTabTextColors(Color.RED, Color.GREEN)应足以匹配深色工具栏上的文本和图标规范。