簡體   English   中英

使用pagerslidingtablayout設置標簽文本顏色

[英]Set tab text color using pagerslidingtablayout

我正在嘗試使用pagerslidingtabStrip實現tablayout。 我想設置選定標簽和未選定標簽的顏色。 而且最近有一個屬性添加到庫“ pstsactivateTextColor”中,但是在構建時會出錯:

找不到屬性“ pstsTabTextColor”的資源標識符

我使用“ astuetz / PagerSlidingTabStrip”庫。

根據本文 ,如果您自己添加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);

在代碼中,為我編寫的新字段添加設置器和獲取器。 添加此方法:

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”末尾調用此函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM