在开发中,我们常常需要ViewPager结合Fragment一起使用,如下图:
我们可以使用Design support library库的TabLayout去实现,但是TabLayout只能用横线指示器,如果想要其他指示器,比如三角下标,该控件就不能用了。
我们可以找网上成熟的轮子进行修改,比如:PagerSlidingTabStrip
楼主这里在项目中需要用到带三角下标的TabLayout,亲身研究了一番,结合鸿洋大神的博客:Android 教你打造炫酷的ViewPagerIndicator 不仅仅是高仿MIUI
实现了一个类似于今日头条的可滑动tab,带三角下标,可绑定ViewPager进行联动。
效果图如下
项目在此:自定义实现带三角下标的TabLayout
整个控件是基于HorizontalScrollView,把三角下标绘制在tab下方,控件的滑动可以分解成tab容器的滑动和三
角下标的滑动,关键在于计算好二者滑动的距离。
想要做到三角下标跟随手指滑动的效果,需要用到ViewPager的onPageScrolled
接口:
mViewPager.addOnPageChangeListener(new OnPageChangeListener() {
@Override
public void