亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android實現淘寶倒計時功能

2019-10-21 21:25:20
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現淘寶倒計時的具體代碼,供大家參考,具體內容如下

一、效果圖(這里為了方便我就沒弄gif圖了,功能是能動的)

Android,淘寶,倒計時

二、實現步驟

1.自定義倒計時控件、

package com.cqxxny.myapplication; import android.annotation.SuppressLint;import android.content.Context;import android.os.Handler;import android.os.Message;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast; import java.util.Timer;import java.util.TimerTask;/** * 功 能: 倒計時工具類 * 所屬模塊: * 創建時間: 2018/11/15 * 功能描述: */@SuppressLint("HandlerLeak")public class RushBuyCountDownTimerView extends LinearLayout {  // 小時,十位 private TextView tv_hour_decade; // 小時,個位 private TextView tv_hour_unit; // 分鐘,十位 private TextView tv_min_decade; // 分鐘,個位 private TextView tv_min_unit; // 秒,十位 private TextView tv_sec_decade; // 秒,個位 private TextView tv_sec_unit;  private Context context;  private int hour_decade; private int hour_unit; private int min_decade; private int min_unit; private int sec_decade; private int sec_unit; // 計時器 private Timer timer;  private Handler handler = new Handler() {  public void handleMessage(Message msg) { countDown(); }; };  public RushBuyCountDownTimerView(Context context, AttributeSet attrs) { super(context, attrs);  this.context = context; LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.time, this);  tv_hour_decade = (TextView) view.findViewById(R.id.tv_hour_decade); tv_hour_unit = (TextView) view.findViewById(R.id.tv_hour_unit); tv_min_decade = (TextView) view.findViewById(R.id.tv_min_decade); tv_min_unit = (TextView) view.findViewById(R.id.tv_min_unit); tv_sec_decade = (TextView) view.findViewById(R.id.tv_sec_decade); tv_sec_unit = (TextView) view.findViewById(R.id.tv_sec_unit);  }  /** * * @Description: 開始計時 * @param * @return void * @throws */ public void start() {  if (timer == null) { timer = new Timer(); timer.schedule(new TimerTask() {  @Override public void run() {  handler.sendEmptyMessage(0); } }, 0, 1000); } }  /** * * @Description: 停止計時 * @param * @return void * @throws */ public void stop() { if (timer != null) { timer.cancel(); timer = null; } }  /** * @throws Exception * * @Description: 設置倒計時的時長 * @param * @return void * @throws */ public void setTime(int hour, int min, int sec) {  if (hour >= 60 || min >= 60 || sec >= 60 || hour < 0 || min < 0 || sec < 0) { throw new RuntimeException("Time format is error,please check out your code"); }  hour_decade = hour / 10; hour_unit = hour - hour_decade * 10;  min_decade = min / 10; min_unit = min - min_decade * 10;  sec_decade = sec / 10; sec_unit = sec - sec_decade * 10;  tv_hour_decade.setText(hour_decade + ""); tv_hour_unit.setText(hour_unit + ""); tv_min_decade.setText(min_decade + ""); tv_min_unit.setText(min_unit + ""); tv_sec_decade.setText(sec_decade + ""); tv_sec_unit.setText(sec_unit + "");  }  /** * * @Description: 倒計時 * @param * @return boolean * @throws */ private void countDown() {  if (isCarry4Unit(tv_sec_unit)) { if (isCarry4Decade(tv_sec_decade)) {  if (isCarry4Unit(tv_min_unit)) {  if (isCarry4Decade(tv_min_decade)) {   if (isCarry4Unit(tv_hour_unit)) {  if (isCarry4Decade(tv_hour_decade)) {  Toast.makeText(context, "時間到了",   Toast.LENGTH_SHORT).show();  stop();  }  }  } } } } }  /** * * @Description: 變化十位,并判斷是否需要進位 * @param * @return boolean * @throws */ private boolean isCarry4Decade(TextView tv) {  int time = Integer.valueOf(tv.getText().toString()); time = time - 1; if (time < 0) { time = 5; tv.setText(time + ""); return true; } else { tv.setText(time + ""); return false; }  }  /** * * @Description: 變化個位,并判斷是否需要進位 * @param * @return boolean * @throws */ private boolean isCarry4Unit(TextView tv) {  int time = Integer.valueOf(tv.getText().toString()); time = time - 1; if (time < 0) { time = 9; tv.setText(time + ""); return true; } else { tv.setText(time + ""); return false; }  }}

2.自定義控件xml、

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal">  <TextView  android:id="@+id/tv_hour_decade"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:background="@drawable/sousuo"  android:gravity="center"  android:padding="5dp"  android:text="0"  android:textColor="#ffffff"  android:textSize="20dp" />  <TextView  android:id="@+id/tv_hour_unit"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_marginLeft="2dp"  android:background="@drawable/sousuo"  android:gravity="center"  android:padding="5dp"  android:text="0"  android:textColor="#ffffff"  android:textSize="20dp" />  <TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:gravity="center"  android:text=":"  android:padding="5dp"  android:textColor="#454545"  android:textSize="20dp" />  <TextView  android:id="@+id/tv_min_decade"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:background="@drawable/sousuo"  android:gravity="center"  android:text="0"  android:padding="5dp"  android:textColor="#ffffff"  android:textSize="20dp"/>  <TextView  android:id="@+id/tv_min_unit"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_marginLeft="1dp"  android:background="@drawable/sousuo"  android:gravity="center"  android:padding="5dp"  android:text="0"  android:textColor="#ffffff"  android:textSize="20dp"/>  <TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:gravity="center"  android:text=":"  android:padding="5dp"  android:textColor="#454545"  android:textSize="20dp" />   <TextView  android:id="@+id/tv_sec_decade"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:background="@drawable/sousuo"  android:gravity="center"  android:text="0"  android:padding="5dp"  android:textColor="#ffffff"  android:textSize="20dp"/>  <TextView  android:id="@+id/tv_sec_unit"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_marginLeft="1dp"  android:background="@drawable/sousuo"  android:gravity="center"  android:padding="5dp"  android:text="0"  android:textColor="#ffffff"  android:textSize="20dp" /> </LinearLayout>

3.自定義控件轉圓角、

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">  <!-- 背景顏色 --> <solid android:color="#454545" />   <!-- 控制邊界線顏色和大小 --> <stroke  android:width="1dp"  android:color="#454545" />  <!-- 控制圓角大小 --> <corners android:radius="5dp" /> </shape>

4.activity代碼

package com.cqxxny.myapplication; import android.support.v7.app.AppCompatActivity;import android.os.Bundle; public class MainActivity extends AppCompatActivity { /**  * 功 能: 倒計時  * 所屬模塊:  * 創建時間: 2018/11/15  * 功能描述:  */ private RushBuyCountDownTimerView timerView; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  timerView = (RushBuyCountDownTimerView) findViewById(R.id.timerView);  // 設置時間(hour,min,sec)  timerView.setTime(10, 0, 10);  // 開始倒計時  timerView.start(); }}

5.activity的xml布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" tools:context=".MainActivity">  <com.cqxxny.myapplication.RushBuyCountDownTimerView  android:id="@+id/timerView"  android:layout_width="wrap_content"  android:layout_height="wrap_content"></com.cqxxny.myapplication.RushBuyCountDownTimerView> </LinearLayout>

源碼下載:Android實現淘寶倒計時

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久999精品视频| 欧美在线观看日本一区| 在线亚洲国产精品网| 日本成人黄色片| 伊人一区二区三区久久精品| 美女999久久久精品视频| 日韩精品极品在线观看| 美日韩在线视频| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品久久久久久久久粉嫩av| 亚洲成人在线网| 韩国国内大量揄拍精品视频| 国产欧美精品在线| 亚洲电影天堂av| 91久久在线播放| 亚洲自拍偷拍网址| 精品免费在线视频| 中文一区二区视频| 久久久人成影片一区二区三区| 九九热精品视频国产| 欧美精品激情blacked18| 欧美激情一区二区三区高清视频| 日韩av电影国产| 国产成人精品免高潮费视频| 韩国三级电影久久久久久| 国产性猛交xxxx免费看久久| 亚洲小视频在线| 亚洲性线免费观看视频成熟| 午夜精品久久久久久99热| 国产一区二区丝袜| 高清欧美性猛交| 91成人精品网站| 亚洲精美色品网站| 91sao在线观看国产| 在线播放国产一区二区三区| 亚洲一区二区三区xxx视频| 国内精品免费午夜毛片| 最近2019中文字幕第三页视频| 欧美国产日本高清在线| 日韩黄在线观看| 亚洲天堂一区二区三区| 亚洲精品福利在线| 最近2019免费中文字幕视频三| 欧美成年人在线观看| 97**国产露脸精品国产| 91亚洲精品久久久| 欧美亚洲在线播放| 亚洲毛片在线免费观看| 日韩电影大片中文字幕| 欧美日韩国产一区二区三区| 亚洲欧美日韩在线高清直播| 亚洲精品自拍视频| 欧美黑人xxxⅹ高潮交| 午夜精品久久久久久99热| 日韩一级裸体免费视频| 欧美日韩国产91| 国产精品99久久久久久白浆小说| 亚洲精品国产精品国自产观看浪潮| 97人洗澡人人免费公开视频碰碰碰| 亚洲另类激情图| 久久亚洲精品毛片| 91高清视频免费观看| 日韩国产欧美精品在线| 久久综合免费视频影院| 欧美性视频网站| 久久91精品国产91久久久| 日韩在线视频观看正片免费网站| 55夜色66夜色国产精品视频| 国产成人精品免高潮在线观看| 亚洲黄页视频免费观看| 国产精品成人免费视频| 九九热这里只有精品6| 精品久久久香蕉免费精品视频| 欧美日韩ab片| 美日韩精品免费观看视频| 2020欧美日韩在线视频| 国产91精品高潮白浆喷水| 中文字幕亚洲欧美日韩高清| 91精品国产综合久久久久久久久| 性欧美亚洲xxxx乳在线观看| 国产精品久久久久久久久久久久久久| 一区二区三区视频在线| 久久大大胆人体| 亚洲在线观看视频网站| 欧洲亚洲妇女av| 茄子视频成人在线| 亚洲一区二区久久久| 国产福利精品在线| 欧美激情免费视频| 日韩欧美一区二区三区| 麻豆精品精华液| 91福利视频网| 国产在线视频一区| 7777精品视频| 亚洲欧美国产高清va在线播| 狠狠久久五月精品中文字幕| 91精品国产免费久久久久久| 久久久久久高潮国产精品视| 国产福利精品视频| 欧美在线视频免费观看| 欧美第一黄网免费网站| 日韩激情av在线免费观看| 精品国内亚洲在观看18黄| 亚洲视频欧美视频| 久久久精品日本| 日韩福利视频在线观看| 国产精品欧美一区二区三区奶水| 九九九热精品免费视频观看网站| 国产精品久久久久久五月尺| 少妇久久久久久| 欧美做受高潮1| 欧美日韩国产精品一区| 在线观看免费高清视频97| 亚洲成人av在线| 亚洲精品福利视频| 日韩中文字幕免费看| 18性欧美xxxⅹ性满足| 茄子视频成人在线| 欧美日韩在线观看视频| 日韩av在线免费播放| 精品中文字幕在线| 丝袜美腿亚洲一区二区| 久久久久久久久久av| 日本最新高清不卡中文字幕| 亚洲国产精品一区二区三区| 97久久国产精品| 日本国产高清不卡| 亚洲国产精品一区二区久| 日韩精品极品视频免费观看| 97在线视频精品| 欧美精品一本久久男人的天堂| 日韩美女视频在线观看| 亚洲理论电影网| 久久久久久国产精品| 久久成人在线视频| 国产亚洲美女精品久久久| 国自在线精品视频| 亚洲v日韩v综合v精品v| 狠狠色狠狠色综合日日五| 亚洲成avwww人| 国产成人高潮免费观看精品| 91亚洲精品在线观看| 欧美一区在线直播| 久久久这里只有精品视频| 欧美成人免费一级人片100| 日本久久久久久久久久久| 欧美黑人视频一区| 91免费精品视频| 91成人精品网站| 全亚洲最色的网站在线观看| 久久精品国产精品| 欧美精品一区在线播放| 亚洲大胆人体av| 中文字幕av日韩| 黑丝美女久久久| 亚洲老司机av| 日韩欧美在线观看视频| 国产精品免费电影| 欧美一级在线亚洲天堂| 欧美疯狂做受xxxx高潮| 亚洲午夜久久久影院| 欧美成人精品在线视频| 日韩视频免费中文字幕| 国产一区二区美女视频|