【问题标题】:Set tab text color using pagerslidingtablayout使用 pagerslidingtablayout 设置标签文本颜色
【发布时间】:2015-09-15 21:31:47
【问题描述】:

我正在尝试使用 pagerslidingtabStrip 实现 tablayout。我想设置选定选项卡和未选定选项卡的颜色。还有一个最近添加到库“pstsactivateTextColor”中的属性,但在构建时出现错误:

找不到属性“pstsTabTextColor”的资源标识符

我使用“astuetz/PagerSlidingTabStrip”库。

【问题讨论】:

  • 你得到什么错误?什么语言和操作系统?这是一个 Android 问题吗?
  • 是的,这是一个安卓问题。尝试构建一个具有选项卡布局的 android 应用程序,我使用“astuetz/PagerSlidingTabStrip”库...错误是“没有为属性 'pstsTabTextColor' 找到资源标识符 .. 想要更改选定和未选定选项卡的选项卡文本颜色

标签: java android pagerslidingtabstrip


【解决方案1】:

根据这个article,如果你自己添加attr,你可以设置选中标签和未选中标签的颜色:

<attr name="pstsTabSelectedTextColor" format="color" />
<attr name="pstsTabUnselectedTextColor" format="color" />

在“PagerSlidingTabStrip”文件中,添加:

private static final int DEFAULT_TAB_TEXT_COLOR = 0xFF666666;
private  int tabSelectedTextColor;
private  int tabUnselectedTextColor;

删除“tabTextColor”字段以及与之相关的任何内容。 在 CTOR 中,添加:

tabSelectedTextColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsTabSelectedTextColor, DEFAULT_TAB_TEXT_COLOR);
    tabUnselectedTextColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsTabUnselectedTextColor, DEFAULT_TAB_TEXT_COLOR);

在代码中,为我编写的新字段添加 setters&getters。添加这个方法:

private void updateTabsTextColors() {
    for (int i = 0; i < tabCount; i++) {
        View v = tabsContainer.getChildAt(i);
        if (v instanceof TextView) {
            TextView tab = (TextView) v;
            if (pager.getCurrentItem() == i)
                tab.setTextColor(tabSelectedTextColor);
            else tab.setTextColor(tabUnselectedTextColor);
        }
    }
}

在“PageListener”类的“onPageSelected”、新的设置器中以及“updateTabStyles”的末尾调用此函数。

【讨论】:

    猜你喜欢
    • 2018-09-14
    • 2016-03-20
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    相关资源
    最近更新 更多