HTViewPagerWithIndicator
是一个基于SlidingTabLayout和ViewPager的能够自定义滑动指示器视图的页面管理控件。根据README文档,基本了解了HTViewPagerWithIndicator
的特点以及快速使用的方法。
htHorizontalBorderHeight
:SlidingTabLayout
底部横向分割线的高度,可选,默认0
;htHorizontalBorderColor
:SlidingTabLayout
底部横向分割线的颜色,可选;htIndicatorHeight
:滑动指示器的高度,可选,默认8dp
;htVerticalDividerHeight
:TabView
间分割线的高度,可选,默认是0
,宽度默认1dp
;htTabViewOffset
:TabView
滑动时的偏移量,可选,默认0
;htMaxVisibleViewCount
:控件可见TabView
的数量n
,可选。n
默认值是-1
,表示TabView
自适应宽度;若n=0
,则全部的TabView
平分SlidingTabLayout
的宽度;若N大于0
,则TabView
的宽度为SlidingTabLayout
宽度的1/n
,多出的部分将不可见。htTabLayoutPaddingTop
:设置SlidingTabLayout
的PaddingTop
值。htTabLayoutPaddingLeft
、htTabLayoutPaddingBottom
、htTabLayoutPaddingRight
类似;htTabLayoutBackground
:设置SlidingTabLayout
的背景(注意不要再getTabView返回的view中设置背景色,会覆盖指示器);htTabLayoutGravity
:设置SlidingTabLayout
的对齐位置,top
(默认)或者bottom
;htIndicatorGravity
:设置Indicator
指示器的对齐位置,top
或者bottom
(默认);htHorizontalDividerGravity
:底部横向分割线的对齐位置,top
或者bottom
(默认)。
用户在创建ViewPager
的PagerAdapter
时,通过实现HTSlidingTabLayoutAdapter
接口,可以实现自定义TabView
样式。其中包括TabView
的视图、TabView
的数据绑定、滑动指示器的宽度、以及TabView
切换回调等。
View getTabView(int position, ViewGroup parent)
获取指定位置上的
TabView
视图。position
为TabView
的索引,parent
为父容器。如果要显示指示器,不要再返回的view中设置背景色,会覆盖指示器。
int getIndicatorWidth(int position)
获取指定位置的指示器宽度,单位
px
,默认和TabView
等宽。position
为TabView
的索引。
void onTabViewBindData(View tabView, int position)
将指定位置的
tabView
进行数据绑定。tabView
是当前的TabView
视图,position
为TabView
的索引。
void onTabViewStatusChanged(View tabView, int position, boolean isSelected)
当
TabView
初始化或者切换时,监听控件的状态变化进行回调。tabView
是当前状态发生变化的TabView
视图,position
为该TabView
的索引,isSelected
标示状态。
HTViewPagerWithIndicator
是继承ViewPager
的,因此ViewPager
的接口方法详细说明参考ViewPager使用。
setEnableViewPagerSlide(boolean enableSlide)
:是否允许ViewPager
页面横向滑动,默认允许;setEnableTabViewScroll(boolean enableScroll)
:是否允许TabView
横向滑动,默认允许;setSelectedIndicatorColors(int... colors)
:设置滑动指示器的颜色,默认是透明色。参数可以是一组颜色,将以循环的形式显示;setDividerColors(int... colors)
:设置纵向分割线的颜色,默认透明色。参数可以是一组颜色,将以循环的形式显示;setCustomTabColorizer(SlidingTabLayout.TabColorizer tabColorizer)
:设置自定义的TabView
的滑动指示器和纵向分割线的颜色;setIndicatorViewShow(boolean indicatorShow)
:设置是否显示滑动指示器,默认显示;void notifyTabViewsDataSetChanged()
:通知全部的TabView
重新绑定数据;notifyTabViewDataSetChanged(int position)
:通知指定位置的TabView
数据重新绑定