在开发中,我们常常需要ViewPager结合Fragment一起使用,如下图:
我们可以使用Design support library库的TabLayout去实现,但是TabLayout只能用横线指示器,如果想要其他指示器,比如三角下标,该控件就不能用了。
我们可以找网上成熟的轮子进行修改,比如:PagerSlidingTabStrip
实现了一个类似于今日头条的可滑动tab,带三角下标,可绑定ViewPager进行联动。
效果图如下
整个控件是基于HorizontalScrollView,把三角下标绘制在tab下方,控件的滑动可以分解成tab容器的滑动和三
角下标的滑动,关键在于计算好二者滑动的距离。
想要做到三角下标跟随手指滑动的效果,需要用到ViewPager的onPageScrolled接口:mViewPager.addOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageSelected(int position) { &