Handler--消息处理机制


页面布局 content_main.xml
<? xml version= "1.0" encoding= "utf-8" ?>

<LinearLayout xmlns: android ="http://schemas.android.com/apk/res/android"

   android :layout_width= "match_parent"

    android :layout_height= "match_parent"

    android :orientation= "vertical"

    >

    <ImageView

        android :layout_marginTop= "100dp"

        android :layout_gravity= "center"

        android :id= "@+id/show"

        android :layout_width= "wrap_content"

        android :layout_height= "wrap_content" />

</LinearLayout>



主程序HandlerTest .用Handler处理图片显示切换效果
package com.eson.handler ;




import android.os.Bundle ;

import android.os.Handler ;

import android.os.Message ;

import android.support.v7.app.AppCompatActivity ;

import android.widget.ImageView ;




import java.util.Timer ;

import java.util.TimerTask ;




public class HandlerTest extends AppCompatActivity {




    //定义周期性显示图片的ID

    int [] imageIds= new int []{

            R.drawable. java,

            R.drawable. javaee ,

            R.drawable. ajax ,

            R.drawable. classic

    } ;

    int currentImageId = 0;

    @Override

    protected void onCreate (Bundle savedInstanceState) {

        super .onCreate(savedInstanceState) ;

        setContentView(R.layout. activity_main );




        final ImageView show= (ImageView) findViewById(R.id. show );

        final Handler myHandler= new Handler(){

            @Override

            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 ,1200 ) ;

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值