ViewPagerIndicator使用

1. 引入ViewPagerIndicator库


2. 编写布局文件

	com.viewpagerindicator.TabPageIndicator
        android:id="@+id/indicator"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />


3. mIndicator.setViewPager(mViewPager);//将viewpager和mIndicator关联起来,必须在viewpager设置完adapter后才能调用


4. 重写PagerAdapter方法,返回页面标题


/**
* 重写此方法,返回页面标题,用于viewpagerIndicator的页签显示
*/
@Override
public CharSequence getPageTitle(int position) {
return mNewsTabData.get(position).title;
}

5. 自定义样式修改

找到所使用的indicator源码,进行样式修改一般使用的是TabPageIndicator

@Override
	public boolean dispatchTouchEvent(MotionEvent ev) {
		getParent().requestDisallowInterceptTouchEvent(true);// 请求父控件不要对事件进行拦截	
		return super.dispatchTouchEvent(ev);
	}
可以自己在源码中添加布局选择器文件,进行字体颜色更改

在vpi_styles.xml中更改样式

 <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_indicator</item>
        <item name="android:maxLines">1</item>
    </style>
6.当为viewpager设置setOnPageChangeListener时会不起作用,此时应该设置给对应的indicator


你可能感兴趣的:(ViewPagerIndicator使用)