Android 定时器实现图片的变换

在Android中,要让每秒进行一次ui更新,就需要利用到定时器和handler,message的结合,如果不使用handler就不能达到更新ui的效果,我的理解是handler中存在一个队列问题,可以保证不产生阻塞。

代码如下:

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.util.Log;

import android.widget.ImageView;

import android.widget.LinearLayout;

public class MainActivity extends Activity

{

private LinearLayout linearlayout;

private ImageView main_imageview;

private int i = 0;

Timer timer = new Timer();

private Handler handler = new Handler()

{

@Override

public void handleMessage(Message msg)

{

Log.e("@@@", i + "");

//index=msg.what;

if (i > 6)

{

i = 0;

}

else

{

switch (i)

{

case 1:

main_imageview.setImageResource(R.drawable.loader_frame_1);

break;

case 2:

main_imageview.setImageResource(R.drawable.loader_frame_2);

break;

case 3:

main_imageview.setImageResource(R.drawable.loader_frame_3);

break;

case 4:

main_imageview.setImageResource(R.drawable.loader_frame_4);

break;

case 5:

main_imageview.setImageResource(R.drawable.loader_frame_5);

break;

case 6:

main_imageview.setImageResource(R.drawable.loader_frame_6);

break;

default:

break;

}

linearlayout.invalidate();

}

super.handleMessage(msg);

}

};

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

initView();

}

public void initView()

{

linearlayout = (LinearLayout) findViewById(R.id.background_main);

main_imageview = (ImageView) findViewById(R.id.main_imageview);

timer.scheduleAtFixedRate(new TimerTask()

{

@Override

public void run()

{

// TODO Auto-generated method stub

i++;

Message mesasge = new Message();

mesasge.what = i;

handler.sendMessage(mesasge);

}

}, 0, 500);

}

@Override

protected void onDestroy()

{

// TODO Auto-generated method stub

timer.cancel();

super.onDestroy();

}

}

在这段代码中有两点需要注意:

第一:在更新完图片后,需要刷新整个布局,linearlayout.invalidate();

第二:在用完定时器timer后,要在Activity被干掉的同时销毁定时器timer。

以上就是Android 定时器的应用,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

android 定时换图片,Android 定时器实现图片的变换相关推荐

  1. android progressbar换背景,Android自定义ProgressBar背景

    对于日常开发过程中,系统自带的ProgressBar显然不能满足我们的需求,虽然网上有很多开源库,但是为了一个ProgressBar而引入一个开源库很明显是划不来的,下面介绍一种方法只需要两步即可实现 ...

  2. android 定时闹钟逻辑,Android 定时执行任务 AlarmManager的使用(可用于闹钟开发)...

    Android 定时执行任务 AlarmManager的使用(可用于闹钟开发) 2011年7月13日加注:所有的定时任务在手机重启后会消失,如果需要重启后继续用,可以加个开机自启,然后重新设置. Al ...

  3. android定时提醒功能,Android后台定时提醒功能实现

    需要类似的功能,找了很久,估计这个能让我实现.转一下. https://blog.csdn.net/qq_34445403/article/details/78727477 考虑到自己每次在敲代码或者 ...

  4. android 全局换字体,Android 全局替换字体

    1. 替换全局字体 需要引入依赖 // 替换全局字体使用 api 'com.android.support:support-v13:28.0.0' 在 res 目录下创建一个 font 目录,将用到的 ...

  5. android 定时播放wav,Android MediaPlayer播放音频与视频

    播放音频 首先创建出一个MediaPlayer对象 MediaPlayer mMediaPlayer = new MediaPlayer(); 设置声音源 public static final St ...

  6. android 定时换图片,android 视频和图片切换并进行自动轮播

    刚入android没多久,遇到的比较郁闷的问题就是子线程主线程的问题,更改UI界面,本想做一个图片的轮播但是比较简单,然后就试试实现视频跟图片切换播放进行不停的循环播放.也用过不少控件,但是知其然不知 ...

  7. android 拍照换头像,Android调用相机拍照,裁剪及更换头像功能的实现

    1,点击弹出popwindow,选择相机或者相册 这个就不多说了,在OnclickListener里写弹出的窗口位置和样式. 2,选择拍照功能,调用手机相机. ``` //调用相机 Intent in ...

  8. android系统换动画,Android Activity动画跳转修改

    在网上看了许多关于如何去掉Activity动画的blog,我觉得说的仍然不够清晰. 所以我在这边简单画图说明一下:如何去掉或替换系统的默认动画 改变动画的方式 1.在Activity中调用 overr ...

  9. android定时调用gc,Android性能:远程触发GC

    一.远程触发GC原理 我们都知道 GC 是java虚拟机释放内存的机制. 一般的在当前进程触发GC有两种方式: 主动触发.调用System.gc() 被动触发.预分配的内存不足 or OOM之前 有没 ...

最新文章

  1. 为了不让GPU等CPU,谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多...
  2. [PHP] 深度解析Nginx下的PHP框架路由实现
  3. 二 计算机技术与机械电子技术的关系,机械电子工程与人工智能的关系初探
  4. Asp.net TextBox常规输入验证
  5. Jsoup设置属性值
  6. 随机获取一个集合(List, Set,Map)中的元素转
  7. DataGridView下拉框动态赋值以及事件处理
  8. 工具的使用 —— sublime
  9. C++中清理map的代码
  10. 现代信号处理功率谱估计MATLAB,基于Matlab实现现代功率谱估计
  11. SystemConfiguration 简介
  12. word论文排版操作
  13. 小学-综合素质【4】
  14. python bs期权模型_使用python第二部分建立股票期权评估模型
  15. deepin 蓝牙适配器 安装
  16. Rocketmq简介及部署、原理和使用介绍
  17. WPS文档消除格式并消除大片空白格
  18. VS2019打包程序安装后无法运行
  19. 付费系列 6 - 离散型障碍和触碰期权 PDE 有限差分
  20. 黑猴子的家:JavaWeb 之 Title icon

热门文章

  1. 32 moveable元素对于容器速度的影响
  2. CentOS 6.8 curl支持的NSS修改为OpenSSL的方法
  3. 833C语言程序设计与数据结构,2017年北方民族大学计算机技术833C语言程序设计与数据结构之C程序设计考研导师圈点必考题汇编...
  4. HTML5期末大作业:绿色环境保护网站设计(10页) 带flash动画带背景音HTML+CSS+JavaScript
  5. PCTP考试学习笔记之二:TiDB 数据库 schema 设计
  6. 基于FFmpeg的视频播放器之七:音频解码
  7. 5V的LDO电源的WCCA分析-可靠性分析计算过程
  8. Mybatis 面试常问问题总结(附答案)
  9. 设计模式-结构型模式 适配器模式adapter
  10. python3.6 解决ModuleNotFoundError: No module named '_bz2'