Android实现滚动播放

jopen 9年前

做了几个项目,一直有滚动播放的需求,也就是轮播。代码重复写时一定需要将其抽象,于是将轮播单独抽取出来,做成了一个库,可以直接引用。可以控制是否循环,是否轮播,轮播间隔时间,事件监听等操作,将它放在了github上。https://github.com/androiddevelop/CycleViewPager

做一下简单的介绍:


CycleViewPager


系统要求

android 4.0以上

快速使用

1. 导入CycleViewPager项目:该项目是一个库,在对应项目的java build path中添加该项目
2. 在layout中引入cn.androiddevelop.cycleviewpager.lib.CycleViewPager这个Fragment.
<fragment      android:id="@+id/cycleViewPager"  android:name="cn.androiddevelop.cycleviewpager.lib.CycleViewPager"      android:layout_width="match_parent"      android:layout_height="wrap_content" />
3. 在Activity(Fragment)中设置CycleViewPager的views以及滚动与轮播属性
CycleViewPager cycleViewPager = (CycleViewPager) getFragmentManager()              .findFragmentById(R.id.cycleViewPager);  // 设置循环,在调用setData方法前调用  cycleViewPager.setCycle(true);    // 在加载数据前设置是否循环  cycleViewPager.setData(views);    // 设置自动播放  cycleViewPager.setWheel(true);

例子

项目中给出了6个例子,可以直接运行项目或者下载项目中得apk进行查看效果
1. NoCycleTextView
没有滚动的CycleTextView,与ViewPager相同
2. CycleTextView
可以滚动的CycleTextView
3. WheelCycleTextView
可以滚动与自动切换的CycleTextView
4. EventCycleTextView
监听CycleTextView滚动事件
5. FixedCycleTextView
固定高度的CycleTextView
6. NestedCycleTextView
CycleTextView嵌套在ViewPager中,实现拨动CycleTextView时外层ViewPager不滚动

api文档

javadoc

注意事项

1. 设置是否循环需要在设置数据之前,即在setData前调用setCycle,CycleViewPager默认不循环。
2. 外层有viewPager时,需要继承cn.androiddevelop.cycleviewpager.lib.BaseViewPager。
3. 设置自动播放时,CycleViewPager自动为可循环滚动.滚动是轮播的基础。