Android 图片轮播

本篇适合初入Android的新手学习,简单不复杂。

本Android 图片轮播的例子中,使用Handler消息传递机制

Handler类主要有两个作用:

1.在新启动的线程发送消息(到主线程)。

2.在主线程中获取处理信息。


接下来是本例核心代码:

final ImageView show = (ImageView)findViewById(R.id.show);
final Handler myHandler = new Handler(){
    public void handleMessage(Message msg) {
        if(msg.what == 0x1233){
            show.setImageResource(imageIds[currentImageId++ % imageIds.length]);// 切换当前显示的图片
        }
    }
};

如果想让图片自动轮播,我们还需要一个计时器

//定义一个计时器,让该计时器周期性的执行指定任务
new Timer().schedule(new TimerTask() {
    @Override
    public void run() {
        //发送空消息
        myHandler.sendEmptyMessage(0x1233);
    }
},0,2000);

上面程序重写了Handler的handlerMessage(Message msg)方法,该方法用于处理消息:当新线程发送消息时,该方法会被自动回调,handlerMessage(Message msg)方法依然位于主线程之中,所以可以动态地修改ImageView的属性,从而实现动画效果。

第二部分通过Timer周期性地执行指定任务(发送空消息),Timer对象可调度TimerTask对象的本质就是启动一条新线程,由于Android不允许在新线程中访问Activity里的界面组件,因此程序只能在新线程里发送一条消息,通知系统更新ImageView组件(每次收到一条空消息,就更新一张图片)

以上就是一个简单的图片轮播功能的核心代码,如果想下载源码,请查看:

源代码下载:https://download.csdn.net/download/liu68686868/10430817

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值