如何更改PagerTabStrip的字体

Eмα*_*мαd 2 android android-viewpager android-tabstrip

我正在使用带PagerTabStrip的ViewPager,我需要设置自定义字体(typeface),但是.setTypeFacePagerTabStrip 没有任何功能!

这是我的XML代码:

 <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewPager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <android.support.v4.view.PagerTabStrip
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/pagerTabStrip"
        android:layout_gravity="top"
        android:background="#FF0000"
        android:textColor="#FFFFFF" />

</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)

根据此链接,我找到了可以解决我的问题的解决方案。

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

for (int i = 0; i < pagerTabStrip.getChildCount(); ++i) {
View nextChild = pagerTabStrip.getChildAt(i);
if (nextChild instanceof TextView) {
   TextView textViewToConvert = (TextView) nextChild;
   textViewToConvert.setTypeface(PUT_TYPEFACE_HERE)
}
}
Run Code Online (Sandbox Code Playgroud)

但是我不明白这意味着什么。

我的布局是:

图片

我想将标题标签更改为另一种字体样式,如下所示:

图片

vis*_*dra 6

您需要做的是为文本创建样式,然后使用android:textAppearance属性...

像这样:

 <style name="PagerTabStripText">
     <item name="android:textStyle">italic</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

您的PagerTabStrip XML将如下所示:

<android.support.v4.view.PagerTabStrip
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/pagerTabStrip"
    android:layout_gravity="top"
    android:background="#FF0000"
    android:textColor="#FFFFFF"
    android:textAppearance="@style/PagerTabStripText" />
Run Code Online (Sandbox Code Playgroud)