我做的是类似淘宝的那个广告条,需要每3秒钟变个图片,我有2个想法一个是写个线程发消息,还有个就是android自带的计时器组建,但是都被难倒了,1.线程的话,我想在手按下屏幕后让计时器重归0,手抬起时重新开始,我用的Timer,好像不好控制,如何归0,再重新开始。2.Chronometer,系统的组建提供的方法比较齐全,但是因为我的类里没有布局,所以Chronometer直接是new出来的,没有用findViewByID();计时也存在问题, 本人java基础不是很好,望大虾指点下timer用法,有类似这样Chronometer例子的给我传个,或指点下(没有XML布局),先谢谢了
解决方案 »
- 使用android surfaceview 画图 一个滚动字体怎么实现
- 有没有大侠指教下android的键盘驱动?
- 愤怒的小鸟关卡界面设计~~~~求解!
- 用WindowManager调用addView后,画图无法更新
- 怎么让虚拟机的像素设为800*480
- json 加密????
- listview控件每一项中ImageView如何显示sd图片文件
- JAVA的byte[]转到 native中的 unsigned char的问题
- 怎么让一个不是全屏的webview位于屏幕中间
- Android环境变量配置
- 问一个有关ContentProvider的问题,有关自定义Cursor。PS:100%结贴,期待各位达人指点
- android 文件管理器
1、timer。new一个Timer,new一个TimerTask。TimerTask执行你要做的操作,Timer负责调度TimerTask。在按下屏幕时调用Timer的schedule方法,这个方法有几种模式,其中有一个时延迟执行Task,参数就是你设置的3秒。在手抬起时调用Timer和TimerTask的cancel方法取消定时器和任务。ok了
2、handler。按下屏幕时清空消息队列,手抬起时延时3秒发送一个消息。在 handleMessage里面处理你的操作。over
Handler mHandler=new Handler(){
public void handleMessage(Message msg) {
判断信息
处理
mHandler.postDelayed(mHandler,3000);//3000Ms发送一次
}
};
什么意思?timer归0是想让图保持不变?滑动时也要保持0?
2、up的时候再启动计时用handler就行,简单有效。
当keydown 调用stop()
当keyup 调用restart()
“mHandler.postDelayed(xxx,3000); ”三秒钟后回调一次不就是timer么还要求什么?