5

我需要在我的 Android 应用程序的 ViewPager 中更改 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

4 回答 4

12

在您的代码中:

<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="#000" 会改变文本颜色。

于 2013-04-24T07:15:46.727 回答
11

如果您还没有发现,代码如下

PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip);
pagerTabStrip.setDrawFullUnderline(true);
pagerTabStrip.setTabIndicatorColor(Color.RED);
于 2012-12-13T08:52:54.420 回答
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));
    }
}
于 2013-12-06T14:28:40.407 回答
0

你为什么不使用:

pagerTabStrip.setTextColor(int color);

在此处输入图像描述

于 2018-06-26T15:29:33.040 回答