我尝试让ViewPagerIndicator中的SampleTabsStyled demo在当前选定的选项卡上更改文本颜色,但没有成功。
然而,SampleTitlesStyledTheme demo在切换标题/选项卡时确实更改了其文本颜色。
当查看styles xml时:
我看到
然而,SampleTitlesStyledTheme demo在切换标题/选项卡时确实更改了其文本颜色。
当查看styles xml时:
<resources>
...
<style name="CustomTitlePageIndicator">
<item name="android:background">#18FF0000</item>
<item name="footerColor">#FFAA2222</item>
<item name="footerLineHeight">1dp</item>
<item name="footerIndicatorHeight">3dp</item>
<item name="footerIndicatorStyle">underline</item>
<item name="android:textColor">#AA000000</item>
<item name="selectedColor">#FF000000</item>
<item name="selectedBold">true</item>
</style>
...
<style name="CustomTabPageIndicator" parent="Widget.TabPageIndicator">
<item name="android:background">@drawable/custom_tab_indicator</item>
<item name="android:textAppearance">@style/CustomTabPageIndicator.Text</item>
<item name="android:textColor">#FF555555</item>
<item name="android:textSize">16sp</item>
<item name="android:divider">@drawable/custom_tab_indicator_divider</item>
<item name="android:dividerPadding">10dp</item>
<item name="android:showDividers">middle</item>
<item name="android:paddingLeft">8dp</item>
<item name="android:paddingRight">8dp</item>
<item name="android:fadingEdge">horizontal</item>
<item name="android:fadingEdgeLength">8dp</item>
</style>
<style name="CustomTabPageIndicator.Text" parent="android:TextAppearance.Medium">
<item name="android:typeface">monospace</item>
</style>
...
</resources>
我看到
SampleTitlesStyledTheme
演示使用了CustomTitlePageIndicator
样式,它定义了一个selectedColor
项目。所以(也许有点天真),我想添加。<item name="selectedColor">#FF000000</item>
我希望能够使用CustomTabPageIndicator
样式,来匹配SampleTabsStyled
演示所使用的样式,但是很遗憾,这并没有起作用。
问题似乎很明显,但是我还是要问一下:有没有一种方法(使用当前的样式xml),让SampleTabsStyled
演示中选定的选项卡文本与其他选项卡的颜色不同?如果有,怎么做呢?
编辑
哦,顺便说一下,我是和ActionBarSherlock一起使用的,如果这很重要的话...
android:textColor
更改为android:color
,之后它就像魔法般地正常工作了。非常感谢 Neoh! - Bart Kiersandroid:color
)进行了编辑。当我使用android:textColor
时,会抛出运行时异常,并且以下内容会显示在我的logcat中:“二进制XML文件第5行:<item>标记需要一个'android:color'属性。”我已经编辑了您的答案以包含正确的变体。 - Bart Kiers