【Android UI设计】之自定义计时器
来源:互联网 发布:ubuntu tm 编辑:程序博客网 时间:2024/06/12 23:16
本博文所分享项目已开源,大家可以在https://github.com/crazycodeboy/DigitalTimer上下载
说明:这种方式定义了一个任务该,该任务会在指定的时间里回调run()方法来进行计时。
DigitalTimer简介
- 在样式上DigitalTimer支持自定义文字背景,大小,颜色的自定义。
- 在功能上DigitalTimer支持启动计时,计时暂停等功能。
运行效果图
XML Attributes
Attribute RelatedRelated MethodDescriptionapp:textColorsetBaseTime(long baseTime)设置基准时间app:textBgRessetTextBgRes(int textBgRes)设置文字背景app:textSizeetTextSize(float textSize)设置文字大小使用方法
java public void setBaseTime(long baseTime)
设置基准时间java public void start()
开始计时。java public void stop()
停止计时。- 其它使用细节可以参照实例。
实现原理
为了实现每一秒刷新一次计时时间,本博文中分别使用了CountDownTimer方式和Handler+Runnable的方式来刷新时间,使用CountDownTimer的方式:
countDownTimer=new CountDownTimer(999999999,1000) {@Overridepublic void onTick(long millisUntilFinished) {changTime=System.currentTimeMillis()-baseTime+1000;reSetTime();}@Overridepublic void onFinish() {}};
说明:这种方式利用了CountDownTimer类,该类会在指定的时间内回调onTick方法,从而实现计时的效果。
使用Handler+Runnable的方式:private final Handler mHandler = new Handler();private final Runnable mTimeRefresher = new Runnable() {@Overridepublic void run() {changTime+=1000;reSetTime();mHandler.postDelayed(this, REFRESH_DELAY);}};
说明:这种方式定义了一个任务该,该任务会在指定的时间里回调run()方法来进行计时。
3 0
- 【Android UI设计】之自定义计时器
- Android基础之UI设计与开发---------自定义进度条
- Android基础之UI设计与开发---------自定义进度条
- Android基础之UI设计与开发---------自定义进度条
- Android UI设计 -----自定义进度条
- Android UI设计:自定义Dialog
- Android UI之自定义SeekBar
- Android UI之自定义AutoCompleteTextView
- android 倒计时器 设计
- Android学习之 UI--ui设计
- android UI 设计之 Tabs
- Android UI 设计之TitleBar
- Android UI设计之RecyclerView
- Android UI设计之RecyclerView
- android UI自定义设计圆形ImageView
- 自定义View--------Android UI模板设计
- 自定义View----Android UI模板设计
- Android 自定义UI组合控件设计方法
- 关于在 Android EditText 控件 中过滤空格或其他字符
- android编译错误“OnClickListener cannot be resolved to a type”解决方案
- ANDROID TEXTVIEW 设置字体颜色
- linux基础教程(6)软件安装和开源业管理
- 第3周项目1三角形类1
- 【Android UI设计】之自定义计时器
- Flex 使用ArrayCollection的FilterFunction进行数据过滤
- jsp扫描仪编程示例程序源代码下载
- Flex DataGrid 可编辑 控制输入值的长度——maxchars
- 在遍历中使用 iterator/reverse_iterator 进行 Erase 的用法
- 利用gralde和Andriod Studio进行多渠道打包
- BZOJ3098: Hash Killer II
- Flex DataGrid 可编辑 控制输入值的长度——截断
- 文章标题