ViewPager标签栏滑条

来源:互联网 发布:身份证被冒用网络贷款 编辑:程序博客网 时间:2024/06/05 19:53


主要实现是依靠ViewPager设置OnPageChangeListener监听。

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stubLog.d("onPageSelected", ""+arg0);if(!mIsBeChoose)mChooseBar.setCurrentPosition(arg0);}@Overridepublic void onPageScrolled(int position, float arg1, int positionOffsetPixels) {// TODO Auto-generated method stubLog.i("onPageScrolled", ""+position+" "+arg1+" "+positionOffsetPixels);mSlideLayout.scrollTo((int) (-(position+arg1)*mWidthOfSlideBlock), 0);}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stubif(arg0 == 0){    mIsBeChoose = false;}Log.e("onPageScrollStateChanged", ""+arg0);}});
关键是要理解onPageScrolled()函数的各个参数的含义:第一个参数position是当前屏幕显示的页中页号的最小值,然后第二个参数是页号最小的页占当前占屏幕的百分比。然后注意scrolleTo的原理,就可以写出调用的式子:mSlideLayout.scrollTo((int) (-(position+arg1)*mWidthOfSlideBlock), 0);


源码:https://github.com/HOOOOOO/ViewPagerSlideBlock

0 0
原创粉丝点击