Android 更改选项卡PageIndicator页脚和文本颜色(ViewPageIndicator)

Android 更改选项卡PageIndicator页脚和文本颜色(ViewPageIndicator),android,Android,这简直让我发疯:我一辈子都不知道如何更改我的TabPageIndicator(来自Jake Wharton的ViewPagerIndicator)的页脚和文本颜色。我查看了示例ViewPagerIndicator应用程序的源代码,但找不到“默认”和“样式化”示例的代码有何不同。默认设置为默认的蓝色页脚和白色文本,而已设置样式的示例为红色页脚并使用灰色字体 我知道这是可能的,但我不知道怎么做!!非常感谢您的帮助。:) 是的,它与主题的清单定义不同: 对于默认选项卡: <activity

这简直让我发疯:我一辈子都不知道如何更改我的TabPageIndicator(来自Jake Wharton的ViewPagerIndicator)的页脚和文本颜色。我查看了示例ViewPagerIndicator应用程序的源代码,但找不到“默认”和“样式化”示例的代码有何不同。默认设置为默认的蓝色页脚和白色文本,而已设置样式的示例为红色页脚并使用灰色字体


我知道这是可能的,但我不知道怎么做!!非常感谢您的帮助。:)

是的,它与主题的清单定义不同:

对于默认选项卡:

<activity
            android:name=".SampleTabsDefault"
            android:label="Tabs/Default"
            android:theme="@style/Theme.PageIndicatorDefaults">

和样式选项卡:

<activity
            android:name=".SampleTabsStyled"
            android:label="Tabs/Styled"
            android:theme="@style/StyledIndicators">

我认为正确的答案是将以下样式添加到style.xml文件中(其中包含告诉VPI如何显示的元素)。大概是这样的:

<style name="Widget.MyTitlepageIndicator">
    <item name="footerColor">#ff99cc33</item>
    <item name="footerIndicatorStyle">underline</item>
    <item name="footerIndicatorHeight">3dp</item>
    <item name="footerLineHeight">1.5dp</item>
    <item name="footerPadding">6dp</item>
    <item name="selectedColor">#ffffffff</item>
</style>
<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/history_vp_ind"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.MyTitlepageIndicator" />

#ff99cc33
强调
3dp
1.5dp
6dp
#ffffffff
然后,在layout.xml文件中定义VPI,您只需告诉它您创建的样式,如下所示:

<style name="Widget.MyTitlepageIndicator">
    <item name="footerColor">#ff99cc33</item>
    <item name="footerIndicatorStyle">underline</item>
    <item name="footerIndicatorHeight">3dp</item>
    <item name="footerLineHeight">1.5dp</item>
    <item name="footerPadding">6dp</item>
    <item name="selectedColor">#ffffffff</item>
</style>
<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/history_vp_ind"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.MyTitlepageIndicator" />

要以编程方式执行此操作,请修改TabPageIndicator并添加以下方法:

public void setTextColor(int color) {
    for (int i = 0; i < mTabLayout.getChildCount(); i++) {
        View child = mTabLayout.getChildAt(i);
        if (child instanceof TextView)
            ((TextView) child).setTextColor(color);
    }
}

将为白色。

您可以通过两种方式更改选项卡页面指示器的默认背景

1。您可以更改XML中的背景

<com.viewpagerindicator.TabPageIndicator
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#0c445c" />

希望这有帮助

你能给我们提供ViewPagerIndicator示例应用程序的源代码链接吗?@haythemsouissi:给你:嗯,我想我没有仔细查看示例。他改变页脚颜色的方式似乎是提供不同的可绘制图像用作页脚。我希望它能像添加一行XML一样简单,但显然我必须打开Photoshop,用我自己的颜色重新制作瓷砖。太糟糕了;我希望他(杰克·沃顿)让它用颜色而不是图像。无论如何谢谢你的帮助。如何更改文本颜色?@EverythingTech96嘿,你是如何更改可绘制图像的位置的。。。请引导我。。这使我发疯。。我只找到了VPITabPageIndicator样式..:S@baboo可绘制图像位于Android ViewPagerIndicator/res/drawable-*中。如果您需要更多信息,我建议您查看ViewPagerIndicator示例应用程序的源代码。我已经很久没有做这个了,我已经有一段时间没有使用这个应用了。很抱歉,我不能提供更多帮助。@Dhasneem在您的vpiTabPageInidcatorStyle自定义样式中,定义android:textColor。如果您需要更多信息,我建议您在styles.xml中查找示例ViewPager应用程序。您的示例涉及
TitlePageIndicator
,而原始问题是指
TabPageIndicator