使用viewFlipper实现轮播图,超级简单
来源:互联网 发布:建津预算软件 编辑:程序博客网 时间:2024/06/07 00:07
安卓轮播图有两种实现方式,viewPager和viewFlipper,前段时间项目中需要用到,就弄了一下,看别人都用viewPager,但是代码量太大了,然后就放弃了,以前用过viewFlipper,然后觉得这种方式比较简单,虽然动画效果没有viewPager好用,但是整体代码量很少。ok,直接上代码了。
1.
第一步获取ViewFlipper,并给ViewFlipper添加imageView
vf_image = (ViewFlipper) findViewById(R.id.vf_image);
imageList.add(R.drawable.show1);
imageList.add(R.drawable.show2);
imageList.add(R.drawable.show3);
for (int i = 0; i <imageList.size(); i++) {
ImageView imageView =new ImageView(getApplicationContext());
imageView.setBackgroundResource(imageList.get(i));
vf_image.addView(imageView);
}
2.
给ViewFlipper设置自动播放和间隔时间,并启动,此时自动轮播图就已经完成了,是不是很简单,如果要加手滑动,那也不难,请看下面
vf_image.setAutoStart(true);// 设置自动播放功能(点击事件,前自动播放)
vf_image.setFlipInterval(3000);
if (vf_image.isAutoStart() && !vf_image.isFlipping()) {
vf_image.startFlipping();
}
3.只需要给ViewFlipper设置手势监听就ok了,那么就会有人问了,为什么不使用OnGestureListener监听手势,原因很简单,OnGestureListener监听手势是监听整个手机屏幕,滑动屏幕空白出,图片也会切换vf_image.setOnTouchListener(new OnTouchListener() {
@SuppressLint("NewApi")
@Override
publicboolean onTouch(View v, MotionEvent event) {
//TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//TODO 触摸时按下
x1 = event.getX();
}
if (event.getAction() == MotionEvent.ACTION_UP) {
//TODO 触摸时抬起
x2 = event.getX();
if (x1 -x2 < -300) {
x1 = 0;
x2 = 0;
vf_image.showPrevious();
}else if (x1 -x2 > 300) {
x1 = 0;
x2 = 0;
vf_image.showNext();
}
}
returntrue;
}
});
至此,手势滑动和自动滑动已经完成,只有短短不到50行代码就搞定了,另外,我没有加动画和轮播图那个那个小圆点,有需要的自己加一下吧,内容比较初级,不喜勿喷- 使用viewFlipper实现轮播图,超级简单
- ViewFlipper的简单使用
- ViewFlipper的简单使用
- ViewFlipper 简单封装与使用
- 使用ViewFlipper实现公告播放
- 使用ViewFlipper+GestureDetector实现轮播图(APP引导页面)
- ViewFlipper实现简单的幻灯片效果
- viewflipper实现幻灯片的简单播放
- android 中的 ViewFlipper 的简单使用
- Android中ViewFlipper的简单使用
- Android 控件:ViewFlipper的简单使用
- Android之ViewFlipper的简单使用
- Android之ViewFlipper的简单使用
- 使用maoreduce实现一个超级简单的爬虫功能
- 使用ViewFlipper实现图片左右滑动效果
- Android ViewFlipper的使用 实现页面滑动
- Android 实现滑动翻页---使用ViewFlipper
- 使用ViewFlipper + gridview 实现滑动翻页
- mybatis 不为空设置
- 多线程的同步与互斥
- 聊聊为应用创建「一致性设计」的几个原则
- Word 2010文档中参考文献自动编号后间距太大的解决方法
- numpy 常用 api(四)
- 使用viewFlipper实现轮播图,超级简单
- 关于配置ssm过程中遇到的最痛苦的一件事情
- 看到事物的本质,致现在的我
- HashSet实现原理
- 2016网易web前端开发实习生面试记录
- 想成为年薪30W+的运营,你必须具备这4个“运营思维”
- c#中实现朗读文本功能
- Tomcat下取消POST大小的限制
- SSL/TLS 协议介绍