首页 > 系统 > Android > 正文

Android 仿京东秒杀倒计时代码

2019-10-22 18:14:32
字体:
来源:转载
供稿:网友

效果图如下所示:

android,京东,秒杀,倒计时,代码,秒杀倒计时

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

首先设置好时间的背景

drawable文件下创建shape_miaosha_time.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android/234356.html">android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#000"></solid> <corners android:radius="2.5dp"></corners></shape>

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

**count_down.xml**<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FFFFFF" android:orientation="vertical"> <LinearLayout  android:layout_width="match_parent"  android:layout_height="40dp"  android:gravity="center_vertical">  <TextView   android:id="@+id/tv_miaosha"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:layout_marginLeft="8dp"   android:text="京东秒杀"   android:textColor="#f00"   android:textSize="20sp" />  <TextView   android:id="@+id/tv_miaosha_time"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:padding="5dp"   android:text="12点场"   android:textSize="20sp" />  <LinearLayout   android:layout_width="wrap_content"   android:layout_height="wrap_content">   <TextView    android:id="@+id/tv_miaosha_shi"    android:layout_width="25dp"    android:layout_height="25dp"    android:background="@drawable/shape_miaosha_time"    android:gravity="center"    android:text="1"    android:textColor="#fff"    android:textSize="15sp" />   <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:padding="3dp"    android:text=":" />   <TextView    android:id="@+id/tv_miaosha_minter"    android:layout_width="25dp"    android:layout_height="25dp"    android:background="@drawable/shape_miaosha_time"    android:gravity="center"    android:text="1"    android:textColor="#fff"    android:textSize="15sp" />   <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:padding="3dp"    android:text=":" />   <TextView    android:id="@+id/tv_miaosha_second"    android:layout_width="25dp"    android:layout_height="25dp"    android:background="@drawable/shape_miaosha_time"    android:gravity="center"    android:text="1"    android:textColor="#fff"    android:textSize="15sp" />  </LinearLayout> </LinearLayout></LinearLayout>

android,京东,秒杀,倒计时,代码,秒杀倒计时

这里写逻辑代码

//使用handler用于更新UIprivate 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();  } }

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

private void startCountDown() {  handler.sendEmptyMessage(0); }

总结

以上所述是小编给大家介绍的Android 仿京东秒杀倒计时代码 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VEVB武林网网站的支持!


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表