Android图片的时分秒倒计时

项目开始老大让做个倒计时,实用的分秒倒计时,最后老大强制要更改为时分秒格式的倒计时,琢磨半天终于搞定。

大概步骤:

1.0  获取到要倒计时的时间(minute)转为时分秒:

int hour = duration60;

int minute = duration - (60 * (duration/60));

int second = 0;//(获取的是整数分钟此处直接赋值为0);

2.0  将图片按顺序放到数组中:

 int[] timeIcon = { R.drawable.nzero, R.drawable.none, R.drawable.ntwo,
R.drawable.nthree, R.drawable.nfour, R.drawable.nfive,
R.drawable.nsix, R.drawable.nseven, R.drawable.neight,
R.drawable.nnine };

3.0  分别为hour ,minute,second设置图片,因为时分秒要使用6张图片,分别取到hour,minute,second的十位个位:

private void setTimeIcon(int hour, int minute, int second) {
int hty = 0;//hour 十位
int ho = 0;//hour 个位
int mty = 0;//minute 十位
int mo = 0;//minute 个位
int sty = 0;//second 十位
int so = 0;//second 个位
if (hour != 0) {  
if(hour>9){
hty = hour / 10;
ho = hour % 10;
}else{
hty=0;
ho = hour;
}
} else {
ho = 0;
hty = 0;
}

if (minute != 0) {
if(minute>9){
mty = minute / 10;
mo = minute % 10;
}else{
mty=0;
mo = minute;
}

} else {
mty = 0;
mo = 0;
}
if (second != 0) {
if(second>9){
sty = second / 10;
so = second % 10;
}else{
sty = 0;
so = second;
}
} else {
sty = 0;
so = 0;
}
iv_hty.setImageResource(timeIcon[hty]);
iv_ho.setImageResource(timeIcon[ho]);
iv_mty.setImageResource(timeIcon[mty]);
iv_mo.setImageResource(timeIcon[mo]);
iv_sty.setImageResource(timeIcon[sty]);
iv_so.setImageResource(timeIcon[so]);
}

4.0 具体细算倒计时的走法(Handler):

if (msg.what == TIME_COUNT) {
if (hour == 0) {
if (minute == 0) {
if (second == 0) {//00:00:00
if (timer != null) {
timer.cancel();
timer = null;
}
if (timerTask != null) {
timerTask = null;
}
} else {//00:00:11
second--;
setTimeIcon(hour, minute, second);
}
} else {
if (second == 0) {//00:11:00
second = 59;
minute--;
setTimeIcon(hour, minute, second);
} else {//00:00:11
second--;
setTimeIcon(hour, minute, second);
}
}
} else {//当小时不为0时
if(second==0){
if(minute==0){//11:00:00
hour--;
minute=59;
second = 59;
setTimeIcon(hour, minute, second);
}else {//11:11:00
minute--;
second = 59;
setTimeIcon(hour, minute, second);
}
}else{
second--;
setTimeIcon(hour, minute, second);
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值