1. 程式人生 > >仿京東秒殺 倒計時

仿京東秒殺 倒計時

佈局

   <LinearLayout
        android:gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingTop="8dp"
        android:paddingBottom="8dp"
        android:paddingLeft="16dp">

        <TextView
            android:textColor="#FF3848"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="22sp"
            android:text="京東秒殺"/>

        <TextView
            android:textColor="#222222"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="19sp"
            android:text="  12點場 "/>
        <TextView
            android:textStyle="bold"
            android:id="@+id/tv_hour"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:paddingTop="3dp"
            android:paddingBottom="3dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:background="@drawable/daojishi_shape"
            android:textColor="@android:color/white"
            android:textSize="15sp"
            android:text="02"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:textStyle="bold"
            android:textColor="@android:color/black"
            android:text=":"/>
        <TextView
            android:textStyle="bold"
            android:id="@+id/tv_minute"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:paddingTop="3dp"
            android:paddingBottom="3dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:background="@drawable/daojishi_shape"
            android:textColor="@android:color/white"
            android:textSize="14sp"
            android:text="15"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:textStyle="bold"
            android:textColor="@android:color/black"
            android:text=":"/>
        <TextView
            android:textStyle="bold"
            android:id="@+id/tv_second"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:paddingTop="3dp"
            android:paddingBottom="3dp"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:background="@drawable/daojishi_shape"
            android:textColor="@android:color/white"
            android:textSize="14sp"
            android:text="36"/>

    </LinearLayout> 

程式碼

      Handler timeHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(msg.what==1){
                //呼叫 倒計時計算的方法
                computeTime();
                if(mHour<10){
                    tvHour.setText("0"+mHour+"");
                }else{
                    tvHour.setText(mHour+"");
                }
                if(mMin<10){
                    tvMinute.setText("0"+mMin+"");
                }else{
                    tvMinute.setText(mMin+"");
                }if(mSecond<10){
                    tvSecond.setText("0"+mSecond+"");
                }else{
                    tvSecond.setText(mSecond+"");
                }
            }
        }
    };
    TextView tvHour = view.findViewById(R.id.tv_hour);
    TextView tvMinute = view.findViewById(R.id.tv_minute);
    TextView tvSecond = view.findViewById(R.id.tv_second);
    startRun();

引用

        /**
     * 開啟倒計時
     * */
    private void startRun(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                while(isRun){
                    try {
                        //睡眠一秒傳送訊息handler
                        Thread.sleep(1000);
                        Message message = Message.obtain();
                        message.what=1;
                        //傳送訊息
                        timeHandler.sendMessage(message);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }
//呼叫 倒計時計算的方法
    /**
     * 倒計時計算
     * */
    private static void computeTime(){
        //首先把秒減1
        mSecond--;
        if(mSecond<0){//如果秒已經減到了0
            mMin--;//分鐘就減1
            mSecond=59;//秒變成 59
            if(mMin<0){//如果分鐘小於0
                mMin=59;//分鐘變成59
                mHour--;//小時減1
            }
        }
    }

走馬燈、倒計時在首頁裡面

相關推薦

仿京東 倒計時

佈局 <LinearLayout android:gravity="center_vertical" android:layout_width="match_parent" android:layou

Android 實現GridView的橫向滾動,實現仿京東效果

實現GridView的橫向滾動 效果如下圖: 具體實現的程式碼 1. 主介面佈局程式碼:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

Android京東仿首頁倒計時

xml配置 <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"

仿京東淘寶的倒計時實現

//菜鳥一枚請多指教 //這個是佈局檔案 <LinearLayout android:id="@+id/ll_xsqg" android:layout_width="match_parent" android:layout_height="wrap_conten

android -- 商城倒計時的實現

我們經常會看到一些商城類App裡面總會有秒殺倒計時,下面就來說一下。 //相差多少時間 - ms private long dt = 0; private Handler handler = new Handler(){ @

PHP精確到毫秒倒計時例項

精確到毫秒秒殺倒計時PHP原始碼例項,前臺js活動展示倒計時,後臺計算倒計時時間。每0.1秒定時重新整理活動倒計時時間。 PHP: 1 // 注意:php的時間是以秒算。js的時間以毫秒算 2 // 設定時區 3 date_default_timezone_set('PRC');

網站活動倒計時

今天做移動端商城時候得,需要哥秒殺計時器,從後臺獲取了時間以後,前臺做相應的判斷。需要的可以直接拿去用,本人只精確到了x天x小時x分鐘x秒。其他需要可以自行新增。<!doctype html><html lang="en"><head> <meta char

MVP+Recycleview實現輪播圖實現京東效果

MVP+Recycleview實現輪播圖,京東秒殺 2018年12月02日 19:55:26 遷就 閱讀數:830 1:先看看效果 2:build.gradle中匯入依賴 //依賴 implementation ‘com.jakewharton:butterkn

小程式自學系列(零基礎學小程式002)---小程式實現電商倒計時效果

基本實現功能 1,小程式仿電商網站秒殺倒計時 2,顯示格式為:例如 1天11時11分11秒11 3,秒殺時間結束後提示 秒殺結束 先看效果圖 其實實現挺簡單 <!--index.wx

商品倒計時功能+ViewPager實現畫廊效果

模式一:列表形式展示資料,倒計時完成移除此條資料 效果: 涉及到的技術:RecyclerView、CardView、Fresco、CountDownTimer等,可以到本部落格去查詢 // 倒計時的實現 public class Tim

Javascript實現商品倒計時(時間與伺服器時間同步)

現在有很多網站都在做秒殺商品,而這其中有一個很重要的環節就是倒計時。 關於倒計時,有下面幾點需要注意: 1.應該使用伺服器時間而不是本地時間(本地時間存在時區不同、使用者自行設定等問題)。 2.要考慮網路傳輸的耗時。 3.獲取時間時可直接從AJAX的響應頭中讀取(通過get

Javascript實現倒計時(時間與伺服器時間同步)

現在有很多網站都在做秒殺商品,而這其中有一個很重要的環節就是倒計時。 關於倒計時,有下面幾點需要注意: 1.應該使用伺服器時間而不是本地時間(本地時間存在時區不同、使用者自行設定等問題)。 2.要考慮網路傳輸的耗時。 3.獲取時間時可直接從AJAX的響應頭中讀取(通過getResponseHeader('D

NTP協議網路時間同步 ios中應用 實現倒計時

專案中需要實現秒殺倒計時功能,手機客戶端本地系統時間有被修改的可能,因此無法獲取本地時間來做,下面看實現程式碼吧 -(void)startTimerShow { self.ysmagTimer = [NSTimerscheduledTimerWithTimeInterv

商品詳情頁及倒計時功能

詳情頁進入:就是前端點選連結,連結中有{goodsId}作為引數,後端@PathVarible 拿到這個id,然後去資料庫查詢對應的商品資訊,並顯示的一個功能。這裡有一個比較重要的就是秒殺倒計時功能:後端獲取秒殺開始時間和結束時間,以及系統當前時間,並定義剩餘時間變數和秒殺狀

Android-京東

效果圖:京東秒殺是兩個小時一個場次,判斷本機的時間進行場次定時,然後在這兩個小時裡面進行倒計時。MainActivitypackage com.bwie.com.myapplication; im

微信小程序----團購或的批量倒計時實現

建立 int box height 操作 思路 ret 效果 .get 效果圖 實現思路微信小程序實現倒計時,可以將倒計時的時間進行每一秒的計算和渲染! JS模擬商品列表數據 goodsList;在 onLoad 周期函數中對活動結束時間進行提取;建立時間格式化函數 tim

redis的活動倒計時問題

版權宣告:本文為博主原創文章,轉載需標明出處哦 ^-^。 https://blog.csdn.net/qq_33101675/article/details/83118461 我們知道電商裡有很多場景,就是活動倒計時的秒殺問題,比如:明天10點開始搶購,倒計時2分鐘等,那麼這個到底有多精確呢?是

活動倒計時問題

我們知道電商裡有很多場景,就是活動倒計時的秒殺問題,比如:明天10點開始搶購,倒計時2分鐘等,那麼這個到底有多精確呢?是不是2分鐘時間剛剛到活動就準時開始呢?我們今天先來說下倒計時,改天說秒殺問題。 我說一下做法,這裡有三種方案,是我思考出來的,可能不對,也可能有更好的方案,僅供參考吧。

京東搶購助手—小桃子版

​ 雙十一當天考試,沒辦法去搶購東西,閒暇之餘寫了一個京東秒殺搶購助手,幫助沒有時間的人搶一些想要的東西; ​ 為什麼叫小桃子版,因為頭像的小公主就是叫小桃子

京東4面(Java研發):事務隔離+樂觀鎖+HashMap+設計+微服務

一面(基礎面:約五十分鐘) 自我介紹,主要講講做了什麼和擅長什麼 springmvc和spring-boot區別 @Autowired的實現原理 Bean的預設作用範圍是什麼?其他的作用範圍? 索引是什麼概念有什麼作用?MySQL裡主要有哪些索引結構?雜湊索引和B+樹索引比較? Java執行緒