首页 > 系统 > Android > 正文

Android仿京东首页秒杀倒计时

2019-10-21 21:26:45
字体:
来源:转载
供稿:网友

本文实例为大家分享了Android仿京东首页秒杀倒计时的具体代码,供大家参考,具体内容如下

xml配置

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

方法内容:

//得到控件 mMiaoshaShiTv = view.findViewById(R.id.tv_miaosha_shi); mMiaoshaTimeTv = view.findViewById(R.id.tv_miaosha_time); mMiaoshaMinterTv = view.findViewById(R.id.tv_miaosha_minter); mMiaoshaSecondTv = view.findViewById(R.id.tv_miaosha_second); /****************京东秒杀倒计时**********************/ //使用handler用于更新UI private Handler handler = new Handler() { @Override public void handleMessage(Message msg) {  super.handleMessage(msg);  countDown();  handler.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(); } } /***************京东秒杀倒计时****************/

开启倒计时:

handler.sendEmptyMessage(0);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


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