android 定时换图片,Android 定时器实现图片的变换
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 定时器实现图片的变换相关推荐
- android progressbar换背景,Android自定义ProgressBar背景
对于日常开发过程中,系统自带的ProgressBar显然不能满足我们的需求,虽然网上有很多开源库,但是为了一个ProgressBar而引入一个开源库很明显是划不来的,下面介绍一种方法只需要两步即可实现 ...
- android 定时闹钟逻辑,Android 定时执行任务 AlarmManager的使用(可用于闹钟开发)...
Android 定时执行任务 AlarmManager的使用(可用于闹钟开发) 2011年7月13日加注:所有的定时任务在手机重启后会消失,如果需要重启后继续用,可以加个开机自启,然后重新设置. Al ...
- android定时提醒功能,Android后台定时提醒功能实现
需要类似的功能,找了很久,估计这个能让我实现.转一下. https://blog.csdn.net/qq_34445403/article/details/78727477 考虑到自己每次在敲代码或者 ...
- android 全局换字体,Android 全局替换字体
1. 替换全局字体 需要引入依赖 // 替换全局字体使用 api 'com.android.support:support-v13:28.0.0' 在 res 目录下创建一个 font 目录,将用到的 ...
- android 定时播放wav,Android MediaPlayer播放音频与视频
播放音频 首先创建出一个MediaPlayer对象 MediaPlayer mMediaPlayer = new MediaPlayer(); 设置声音源 public static final St ...
- android 定时换图片,android 视频和图片切换并进行自动轮播
刚入android没多久,遇到的比较郁闷的问题就是子线程主线程的问题,更改UI界面,本想做一个图片的轮播但是比较简单,然后就试试实现视频跟图片切换播放进行不停的循环播放.也用过不少控件,但是知其然不知 ...
- android 拍照换头像,Android调用相机拍照,裁剪及更换头像功能的实现
1,点击弹出popwindow,选择相机或者相册 这个就不多说了,在OnclickListener里写弹出的窗口位置和样式. 2,选择拍照功能,调用手机相机. ``` //调用相机 Intent in ...
- android系统换动画,Android Activity动画跳转修改
在网上看了许多关于如何去掉Activity动画的blog,我觉得说的仍然不够清晰. 所以我在这边简单画图说明一下:如何去掉或替换系统的默认动画 改变动画的方式 1.在Activity中调用 overr ...
- android定时调用gc,Android性能:远程触发GC
一.远程触发GC原理 我们都知道 GC 是java虚拟机释放内存的机制. 一般的在当前进程触发GC有两种方式: 主动触发.调用System.gc() 被动触发.预分配的内存不足 or OOM之前 有没 ...
最新文章
- 为了不让GPU等CPU,谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多...
- [PHP] 深度解析Nginx下的PHP框架路由实现
- 二 计算机技术与机械电子技术的关系,机械电子工程与人工智能的关系初探
- Asp.net TextBox常规输入验证
- Jsoup设置属性值
- 随机获取一个集合(List, Set,Map)中的元素转
- DataGridView下拉框动态赋值以及事件处理
- 工具的使用 —— sublime
- C++中清理map的代码
- 现代信号处理功率谱估计MATLAB,基于Matlab实现现代功率谱估计
- SystemConfiguration 简介
- word论文排版操作
- 小学-综合素质【4】
- python bs期权模型_使用python第二部分建立股票期权评估模型
- deepin 蓝牙适配器 安装
- Rocketmq简介及部署、原理和使用介绍
- WPS文档消除格式并消除大片空白格
- VS2019打包程序安装后无法运行
- 付费系列 6 - 离散型障碍和触碰期权 PDE 有限差分
- 黑猴子的家:JavaWeb 之 Title icon
热门文章
- 32 moveable元素对于容器速度的影响
- CentOS 6.8 curl支持的NSS修改为OpenSSL的方法
- 833C语言程序设计与数据结构,2017年北方民族大学计算机技术833C语言程序设计与数据结构之C程序设计考研导师圈点必考题汇编...
- HTML5期末大作业:绿色环境保护网站设计(10页) 带flash动画带背景音HTML+CSS+JavaScript
- PCTP考试学习笔记之二:TiDB 数据库 schema 设计
- 基于FFmpeg的视频播放器之七:音频解码
- 5V的LDO电源的WCCA分析-可靠性分析计算过程
- Mybatis 面试常问问题总结(附答案)
- 设计模式-结构型模式 适配器模式adapter
- python3.6 解决ModuleNotFoundError: No module named '_bz2'