android-auto-scroll-view-pager-master的使用
2016-04-05 00:10
609 查看
简介
自动循环播放的轮播条github地址:android-auto-scroll-view-pager
![](http://i.imgur.com/MzM1HpB.gif)
使用方法
1.在build.gradle中添加compile ('cn.trinea.android.view.autoscrollviewpager:android-auto-scroll-view-pager:1.1.2') { exclude module: 'support-v4' }
2.在布局文件中定义
<cn.trinea.android.view.autoscrollviewpager.AutoScrollViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="180dp" />
3.代码中初始化
private AutoScrollViewPager auto_view_pager; auto_view_pager = (AutoScrollViewPager)findViewById(R.id.auto_view_pager);
4.初始化数据
//添加图片的集合 images = new ArrayList<>(); ImageView imageView = new ImageView(this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageResource(R.drawable.pic11); images.add(imageView); imageView = new ImageView(this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageResource(R.drawable.pic22); images.add(imageView); imageView = new ImageView(this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageResource(R.drawable.pic33); images.add(imageView); imageView = new ImageView(this); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setImageResource(R.drawable.pic44); images.add(imageView);
5.设置auto_view_pager的adapter
auto_view_pager.setAdapter(new MyAdapter()); //解决最后一个跳转到第一个闪动问题 auto_view_pager.setCurrentItem((Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2 % images.size())); class MyAdapter extends PagerAdapter { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(images.get(position % images.size())); return images.get(position % images.size()); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
6.设置auto_view_pager的参数
//设置延时时间 auto_view_pager.setInterval(2000); //设置轮播的方向 AutoScrollViewPager.RIGHT/AutoScrollViewPager.LEFT auto_view_pager.setDirection(AutoScrollViewPager.RIGHT); //设置是否自动循环轮播,默认为true //注意:一旦设为true,则不能和ViewPagerIndicator一起使用 auto_view_pager.setCycle(true); //设置切换动画的时长 auto_view_pager.setScrollDurationFactor(10); //设置当滑动到最后一个或者第一个时,如何切换下一张 /** * SLIDE_BORDER_MODE_NONE:不能再滑动 * SLIDE_BORDER_MODE_TO_PARENT:移动父视图的Pager * SLIDE_BORDER_MODE_CYCLE:循环 * 默认为SLIDE_BORDER_MODE_NONE */ auto_view_pager.setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_CYCLE); //当滑动到最后一张或第一张时是否开启动画,默认为true auto_view_pager.setBorderAnimation(false); //当触摸的时候,停止轮播 auto_view_pager.setStopScrollWhenTouch(true);
7.开启/停止轮播
@Override protected void onResume() { super.onResume(); //开启自动轮播,延时时间为getInterval() auto_view_pager.startAutoScroll(); //开启自动轮播,并设置延时 //auto_view_pager.startAutoScroll(delayTime); } @Override protected void onPause() { super.onPause(); //停止轮播 auto_view_pager.stopAutoScroll(); }
相关文章推荐
- Android框架设计模式(五)——Singleton Method
- RelativeLayout 和LinearLayout比较小tip
- Android SharedPreferences理解
- android中出现could not find camera.apk,解决办法!
- android manifest
- android linearlayout
- Android Service之Messenger实现通信
- Android 自定义RadioButton或CheckBox选择样式
- gradle相关
- monkey调试类命令
- Android --- Recyclerview and Cardview
- monkey约束类命令
- monkey事件类命令2
- Android 学习笔记(9)—— ListView
- Android异步加载
- monkey事件类命令1
- Android广播接收器里弹出对话框
- android高级---->Handler的原理
- adb下查看应用包名和应用主界面
- 【Android开发】开源库AndroidSlidingUpPanel详解