Ответ 1
По умолчанию TabPageIndicator не применяет никакого стиля. Чтобы включить стиль по умолчанию из ViewPagerIndicator, добавьте следующую строку в тег application
или соответствующий тег activity
в manifest.xml
android:theme="@style/Theme.MyTheme"
Затем добавьте файл res\values\styles.xml
в ваш проект со следующим содержимым
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.MyTheme" parent="@android:style/Theme.Light">
<item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
</style>
</resources>
Я использую тему темы для Android для моего приложения, но вы можете изменить ее на тему, которую вы сейчас используете.
Если вы хотите внести изменения в изменение стиля VPI по умолчанию, файл styles.xml
будет выглядеть примерно так:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.MyTheme" parent="@android:style/Theme.Light">
<item name="vpiTabPageIndicatorStyle">@style/MyTabPageIndicator</item>
</style>
<style name="MyTabPageIndicator" parent="Widget.TabPageIndicator">
<item name="android:gravity">center</item>
<item name="android:background">@drawable/vpi__tab_indicator</item>
<item name="android:paddingLeft">22dip</item>
<item name="android:paddingRight">22dip</item>
<item name="android:paddingTop">12dp</item>
<item name="android:paddingBottom">12dp</item>
<item name="android:textAppearance">@style/MyTabPageIndicator.Text</item>
<item name="android:textSize">12sp</item>
<item name="android:maxLines">1</item>
</style>
<style name="MyTabPageIndicator.Text" parent="TextAppearance.TabPageIndicator">
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/vpi__dark_theme</item>
</style>
</resources>
Обратите внимание, что приведенные выше настройки точно такие же, как стиль VPI по умолчанию для TabPageIndicactor, поэтому вы все равно должны внести необходимые изменения.