自定义控件 - ViewPager页面指示器,轮播小圆点效果,具有三种风格
2018-01-10 19:56
302 查看
转载请标明出处:http://blog.csdn.net/u013254166/article/details/79026116
本文出自: 【rhino博客】
分享一个控件,可用于ViewPager页面指示器,使用起来非常简单方便。支持横向、纵向两种布局,可以xml设置也可以动态设置。支持三种模式Mode:
INSIDE: 滚动的小圆点被遮住,在整个圆点视图的背后滚动。
OUTSIDE: 滚动的小圆点在整个圆点视图的上面滚动。
SOLO: 没有滚动动画效果,直接选中。
Demo采用ViewPager演示,也适用于RecyclerView,移植性强,拷贝到工程里面就能用。只需要在对应的回调接口CircleIndicator的setPosition方法即可。
注意这里有两个setPosition方法:
这个接口调用后立即选中,并刷新视图。
这个接口用于显示动画效果,前提是Mode必须为INSIDE或OUTSIDE,这里的参数直接仿造ViewPager.OnPageChangeListener.onPageScrolled方法:
position: 接下来将选中的页面索引。
positionOffset: 滚动到下一个页面的百分比,取值为[0, 1)。如果页面向前滑动positionOffset
从1.0减至0,如果页面向后滑动positionOffset 从0加至1.0。
最后附上源码下载链接,点击下载。
本文出自: 【rhino博客】
分享一个控件,可用于ViewPager页面指示器,使用起来非常简单方便。支持横向、纵向两种布局,可以xml设置也可以动态设置。支持三种模式Mode:
INSIDE: 滚动的小圆点被遮住,在整个圆点视图的背后滚动。
OUTSIDE: 滚动的小圆点在整个圆点视图的上面滚动。
SOLO: 没有滚动动画效果,直接选中。
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { mCircleIndicator1.setPosition(position, positionOffset); mCircleIndicator2.setPosition(position, positionOffset); mCircleIndicator3.setPosition(position, positionOffset); } @Override public void onPageSelected(int position) { mCircleIndicator4.setPosition(position); } @Override public void onPageScrollStateChanged(int state) { } });
Demo采用ViewPager演示,也适用于RecyclerView,移植性强,拷贝到工程里面就能用。只需要在对应的回调接口CircleIndicator的setPosition方法即可。
注意这里有两个setPosition方法:
/** * This method will be invoked when the dest page is selected. * * @param position The position of current page selected. */ public void setPosition(int position)
这个接口调用后立即选中,并刷新视图。
/** * This method will be invoked when the current page is scrolled, either as part * of a programmatically initiated smooth scroll or a user initiated touch scroll. * * @param position The position of next page that will be show. * @param positionOffset Value from [0, 1) indicating the offset from the page at position. * @see Mode#INSIDE * @see Mode#OUTSIDE */ public void setPosition(int position, float positionOffset)
这个接口用于显示动画效果,前提是Mode必须为INSIDE或OUTSIDE,这里的参数直接仿造ViewPager.OnPageChangeListener.onPageScrolled方法:
position: 接下来将选中的页面索引。
positionOffset: 滚动到下一个页面的百分比,取值为[0, 1)。如果页面向前滑动positionOffset
从1.0减至0,如果页面向后滑动positionOffset 从0加至1.0。
最后附上源码下载链接,点击下载。
相关文章推荐
- ViewPager加载页面,底部圆点指示器,圆点拖动效果,支持手势拖动
- Android viewpager自动轮播和小圆点联动效果
- Android 中使用 ViewPager实现屏幕页面切换和页面轮播效果
- 利用ViewPager实现广告栏广告页面轮播效果
- Android 利用ViewPager实现底部圆点导航左右滑动效果以及Fragment页面切换
- ViewPager手势切换页面+图片左右轮播效果(精简版本)
- 跟随滑动ViewPager指示器(小圆点跟随滑动效果)
- Android中轮播所用到viewPager.PageTransformer 页面滑动时候处理图片缩放效果代码
- 打造最简单ViewPager指示器,实现小圆点效果
- Android使用ViewPager实现左右循环滑动及轮播效果
- 【商城开发二】ViewPager广告自动轮播,自动添加指示器,支持滑动
- Android 自定义控件ViewPager 指示器 ViewPagerIndicator
- [Android实例] ViewPager多页面滑动切换以及动画效果(精)
- Android使用ViewPager实现左右循环滑动及轮播效果
- Android ViewPager多页面滑动切换以及动画效果
- android图片轮播效果,RollViewPager的简单使用
- Android使用ViewPager实现左右循环滑动及轮播效果
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果
- viewpager实现轮播图效果,非常齐全
- Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果