法国庄园里的波尔多: Android 仿京东秒杀倒计时代码,android 60秒倒计时

6
回复
965
查看
打印 上一主题 下一主题
[复制链接]

恋恋波尔多 www.luaogj.com.cn 497

主题

1242

帖子

1030

安币

手工艺人

楼主
发表于 2018-3-22 11:44:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            

        效果图如下所示:

        

        由于我仿的京东是分??榈?所以,这次主要描述秒杀???

        首先设置好时间的背景

        drawable文件下创建shape_miaosha_time.xml

[Java] 查看源文件 复制代码
<

        然后主要布局,你可以单独书写,然后引用出去

[Java] 查看源文件 复制代码
**count_down.xml**
<

        

        这里写逻辑代码

[Java] 查看源文件 复制代码
//使用handler用于更新ui
private handler handler = new handler() {
  @override
  public void handlemessage(message msg) {
   super.handlemessage(msg);
   countdown();
   sendemptymessagedelayed(0, 1000);
  }
 };
 /**
  * 秒杀
  */
 private void countdown() {
  simpledateformat df = new simpledateformat("yyyy-mm-dd hh:mm:ss");
  date curdate = new date(system.currenttimemillis());
  string format = df.format(curdate);
  stringbuffer buffer = new stringbuffer();
  string substring = format.substring(0, 11);
  buffer.append(substring);
  log.d("ccc", substring);
  calendar calendar = calendar.getinstance();
  int hour = calendar.get(calendar.hour_of_day);
  if (hour % 2 == 0) {
   mmiaoshatimetv.settext(hour + "点场");
   buffer.append((hour + 2));
   buffer.append(":00:00");
  } else {
   mmiaoshatimetv.settext((hour - 1) + "点场");
   buffer.append((hour + 1));
   buffer.append(":00:00");
  }
  string totime = buffer.tostring();
  try {
   java.util.date date = df.parse(totime);
   java.util.date date1 = df.parse(format);
   long defferenttime = date.gettime() - date1.gettime();
   long days = defferenttime / (1000 * 60 * 60 * 24);
   long hours = (defferenttime - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
   long minute = (defferenttime - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
   long seconds = defferenttime % 60000;
   long second = math.round((float) seconds / 1000);
   mmiaoshashitv.settext("0" + hours + "");
   if (minute >= 10) {
    mmiaoshamintertv.settext(minute + "");
   } else {
    mmiaoshamintertv.settext("0" + minute + "");
   }
   if (second >= 10) {
    mmiaoshasecondtv.settext(second + "");
   } else {
    mmiaoshasecondtv.settext("0" + second + "");
   }
  } catch (parseexception e) {
   e.printstacktrace();
  }
 }

        注意,这里才是开启的代码

[Java] 查看源文件 复制代码
private void startcountdown() {
  handler.sendemptymessage(0);
 }

        总结






        
分享到:  QQ好友和群 QQ空间 微信
收藏
收藏0
支持
支持0
反对
反对0
沙发
发表于 2018-3-22 15:37:35 | 只看该作者
不错不错,楼主辛苦了。。。

308

主题

996

帖子

684

安币

手工艺人

板凳
发表于 2018-3-22 21:12:18 | 只看该作者
楼主是好人,回个帖会有安币吗?

446

主题

1150

帖子

1976

安币

手工艺人

地板
发表于 2018-3-23 02:21:03 | 只看该作者
安卓巴士是个不错的网站,我来顶个贴~

0

主题

9524

帖子

1140

安币

Android大神

Rank: 6Rank: 6

5#
发表于 2018-3-23 08:02:25 | 只看该作者
支持,感谢,祝巴士越来越好~

503

主题

1199

帖子

2029

安币

手工艺人

6#
发表于 2018-3-23 15:14:09 | 只看该作者
支持,感谢,祝巴士越来越好~

9

主题

9604

帖子

1765

安币

Android大神

Rank: 6Rank: 6

7#
发表于 2018-3-23 22:15:27 | 只看该作者
感觉楼主很用心,辛苦啦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反?。[email protected]

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )