效果圖如下所示:
	
由于我仿的京東是分模塊的,所以,這次主要描述秒殺模塊!
首先設置好時間的背景
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>
	
這里寫邏輯代碼
//使用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武林網網站的支持!
新聞熱點
疑難解答