说明:
- ViewPagerIndicator可以理解成ViewPager的滑动时的一个指示器。在使用ViewPager的时候能够指示ViewPager所在的位置,就像Google Play中切换的效果一样,还能使用在应用初始化的介绍页面。
使用步骤:
在项目中关联ViewPagerIndicator的library 下载链接:https://github.com/JakeWharton/Android-ViewPagerIndicator
布局文件:必须和ViewPager搭配使用
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/tpi"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
- 将ViewPagerIndicator和ViewPager关联起来, ViewPager页面发生变化时, ViewPagerIndicator的指针也会跟随变化
mIndicator.setViewPager(mViewPager);
mAdapter = new mViewPagerAdapter();
mViewPager.setAdapter(mAdapter);
- 在ViewPager的Adapter中,重写该方法:
/**
* 返回标题, 用于在indicator的指针中显示
*/
@Override
public CharSequence getPageTitle(int position) {
return title;
}
- 需要给activity设置样式
<activity
android:name=".MainActivity"
android:theme="@style/Theme.PageIndicatorDefaults" />
修改样式:
- 修改样式中的图片, 文字颜色等
<style name="Theme.PageIndicatorDefaults" parent="android:Theme">
<item name="vpiIconPageIndicatorStyle">@style/Widget.IconPageIndicator</item>
<item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
</style>
- 页签样式修改
<style name="Widget.TabPageIndicator" parent="Widget">
<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/TextAppearance.TabPageIndicator</item>
<item name="android:textSize">16sp</item>
<item name="android:textColor">@drawable/vpi__tab_text_color</item>//修改页签字体颜色
<item name="android:maxLines">1</item>
</style>