7

これは私を狂気に駆り立てています。私は一生、TabPageIndicator (Jake Wharton の ViewPagerIndicator から) のフッターとテキストの色を変更する方法を理解できません。サンプル ViewPagerIndicator アプリのソース コードを調べましたが、"Default" サンプルと "Styled" サンプルでコードが異なる箇所が見つかりません。Default にはデフォルトの青いフッターと白いテキストがありますが、Styled サンプルには赤いフッターがあり、灰色のフォントを使用しています。

できることはわかっているのですが、やり方がわかりません!! どんな助けでも大歓迎です。:)

4

4 に答える 4

4

ええ、それはテーマのマニフェスト定義とは異なります:

デフォルトのタブの場合:

<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">
于 2012-04-16T01:03:02.030 に答える
3

正しい答えは、次のスタイルを 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>

次に、VPI を定義する layout.xml ファイルで、作成したスタイルを次のように指定します。

<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/history_vp_ind"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.MyTitlepageIndicator" />
于 2013-04-20T12:00:57.243 に答える
1

プログラムで行うには、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);
    }
}

次に、メソッドを使用してインジケーターのビューのテキストの色を変更します。例えば

setTextColor(0xFFFFFFFF)

白だろう。

于 2014-03-10T11:40:09.140 に答える