[英]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.