对于轮播图Android已经不是什么新东西了,本文用ViewPager,Handler以及线程实现简单的轮播图,先看一下代码
@Override
protected void onResume() {
super.onResume();
if (isStop) isStop = !isStop;
new Thread(new Runnable() {
@Override
public void run() {
// 每隔3秒钟, 来切换一张图片
while (!isStop) {
Message msg = Message.obtain();
msg.what = LOOPWHEEL;
if (currentIndex == images.length - 1) {
currentIndex = 0;
} else {
currentIndex++;
}
msg.arg1 = currentIndex;
mHandler.sendMessage(msg);
SystemClock.sleep(3000);
}
}
}).start();
}
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case LOOPWHEEL:
viewPager.setCurrentItem(msg.arg1);
break;
}
}
};
很简单的方式,死循环每隔3秒发一次消息。需要注意的是在失去焦点或者销毁周期里面需要把isStop赋值相反的值,不然死循环一
直存在。给大家留个悬念,demo里面有个bug,需要去处理,很简单,
点击打开链接