如何根据屏幕大小更改Android ViewPager页面标题文本大小

时间:2017-08-07 19:18:14

标签: android android-viewpager text-size

ViewPager中有3个页面并在平板电脑上运行而在智能手机上运行时,页面标题的文字大小必须更改。

任何想法?

我尝试在xml中设置PagerTabStrip文本大小,但这是不可能的

<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?android:attr/windowBackground">

    <android.support.v4.view.PagerTabStrip
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

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

1 个答案:

答案 0 :(得分:1)

  

我尝试在xml中设置PagerTabStrip文本大小,但事实并非如此   可能的

你有吗?因为你绝对可以做到这一点。如果您查看PagerTitleStrip source,您会看到它使用以下属性来设置标题文字的样式。

private static final int[] ATTRS = new int[] {
    android.R.attr.textAppearance,
    android.R.attr.textSize,
    android.R.attr.textColor,
    android.R.attr.gravity
};

您可以在XML中设置其中任何一个,所以在您的情况下,例如:

    <android.support.v4.view.PagerTabStrip
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="@dimen/pagerTitleTextSize" />

pagerTitleTextSize只是您需要的values文件夹中的文字大小。例如:

values

<resources>

    <dimen name="pagerTitleTextSize">22sp</dimen>

</resources>

phone

values-sw600dp

<resources>

    <dimen name="pagerTitleTextSize">64sp</dimen>

</resources>

tablet

如果您想以编程方式处理它,还有PagerTitleStrip.setTextSize