ViewPagerIndicator使用

来源:互联网 发布:tensorflow 最好的书 编辑:程序博客网 时间:2024/05/20 18:48

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

@Overridepublic 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


0 0
原创粉丝点击