I have an android.support.v4.view.PagerTabStrip
defined in xml as follows :
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--
This title strip will display the currently visible page title, as well as the page
titles for adjacent pages.
-->
<android.support.v4.view.PagerTabStrip android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#33b5e5"
android:textColor="#fff"
android:paddingTop="4dp"
android:paddingBottom="4dp" />
</android.support.v4.view.ViewPager>
How can I change the TabIndicater
color? It can be changed programmaticaly by setTabIndicatorColor(int color) but I need to find a way to do this in xml.
The main method is to make a class extends PagerTabStrip
, for example,the class named MyPagerTabStrip
:
package com.example.View; /// change this package to yourselves.
public class MyPagerTabStrip extends PagerTabStrip
{
public MyPagerTabStrip(Context context, AttributeSet attrs)
{
super(context, attrs);
final TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.MyPagerTabStrip);
setTabIndicatorColor(a.getColor(
R.styleable.MyPagerTabStrip_indicatorColor, Color.BLUE));
a.recycle();
}
}
in res/values folder new a file named attrs.xml, the content of this file is:
<?xml version="1.0" encoding="utf-8"?>
<declare-styleable name="MyPagerTabStrip">
<attr name="indicatorColor" format="reference|color" />
</declare-styleable>
The same folder, new a file if not exists, named styles.xml, put the code below in the file:
<style name="Pager">
<item name="android:textColor">#ffffff</item>
<item name="indicatorColor">#6f8dc5</item>
</style>
Finally, your layout xml file is :
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--
This title strip will display the currently visible page title, as well as the page
titles for adjacent pages.
-->
<com.example.view.MyPagerTabStrip android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#33b5e5"
android:textColor="#fff"
android:paddingTop="4dp"
android:paddingBottom="4dp" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With