图片轮播之自动轮播

利用Handler实现图片自动轮播和用户触摸图片时自动停止轮播

<span style="white-space:pre">	</span>Handler mHandler = new Handler();
	AutoScrollTask mAutoScrollTask = new AutoScrollTask();

	class AutoScrollTask implements Runnable {

		public void start() {
			//让handler延迟2秒后执行自己这个任务,会调用run方法
			mHandler.postDelayed(this, 2000);
		}

		public void stop() {
			//让handler移除自己
			mHandler.removeCallbacks(this);
		}

		@Override
		public void run() {
			// TODO
			//得到当前图片的位置
			int item = mViewPager.getCurrentItem();
			//位置自增
			item++;
			//设置图片位置
			mViewPager.setCurrentItem(item);

			//重新开始一遍,实现递归
			start();
		}

	}
	
	//让图片轮播默认就开始自动轮播
	mAutoScrollTask.start();
	//设置viewPager的触摸事件
	mViewPager.setOnTouchListener(new OnTouchListener() {

		@Override
		public boolean onTouch(View v, MotionEvent event) {
			switch (event.getAction()) {
			//当用户按下viewPager时,移除自动轮播任务
			case MotionEvent.ACTION_DOWN:
				mAutoScrollTask.stop();
				break;
			//当用户抬起手指时,执行自动轮播任务
			case MotionEvent.ACTION_UP:
				mAutoScrollTask.start();
				break;

			default:
				break;
			}
			return false;
		}
	});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值