我的Android应用在ViewPager中为PagerTabStrip自定义字体颜色

时间:2012-11-15 13:29:46

标签: android-viewpager

我需要在ViewPager中为我的Android应用更改PagerTabStrip的字体颜色。这是相同的xml布局。我有什么方法可以做到这一点吗?

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/head"
    android:id="@+id/myfivepanelpager">

        <android.support.v4.view.PagerTabStrip
         android:id="@+id/pgstrip"
        android:layout_width="fill_parent"
        android:background="@color/strip"
        android:layout_height="@dimen/pagerstripht"
        android:layout_gravity="top"
        />

    </android.support.v4.view.ViewPager>

4 个答案:

答案 0 :(得分:11)

你的代码中的

<android.support.v4.view.PagerTabStrip
         android:id="@+id/pgstrip"
        android:layout_width="fill_parent"
        android:background="@color/strip"
        android:layout_height="@dimen/pagerstripht"
        android:layout_gravity="top"
        />

我认为添加android:textColor =&#34;#000&#34;将改变文字颜色。

答案 1 :(得分:10)

如果您还没有找到,代码就在下面

PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setDrawFullUnderline(true);
pagerTabStrip.setTabIndicatorColor(Color.RED);

答案 2 :(得分:10)

获取PagerTabStrip的子视图,并检查它是否是TextView的实例。如果是,请设置文本颜色:

PagerTabStrip mPagerTabStrip = (PagerTabStrip) findViewById(R.id.pgstrip);
for (int i = 0; i < mPagerTabStrip.getChildCount(); ++i) {
    View nextChild = mPagerTabStrip.getChildAt(i);
    if (nextChild instanceof TextView) {
        TextView textViewToConvert = (TextView) nextChild;
        textViewToConvert.setTextColor(getResources().getColor(R.color.primary_text_color_dark_gray));
    }
}

答案 3 :(得分:0)

为什么不使用:

pagerTabStrip.setTextColor(int color);

enter image description here