欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android限时抢购倒计时实现代码

程序员文章站 2023-12-20 10:00:22
限时抢购倒计时实现效果图 布局:

限时抢购倒计时实现效果图

Android限时抢购倒计时实现代码

布局:

<linearlayout
    android:id="@+id/ll_xsqg"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingtop="8dp"
    android:paddingbottom="8dp"
    android:paddingleft="16dp">

    <textview
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textstyle="bold"
      android:textsize="14sp"
      android:text="@string/xsqg"/>

    <textview
      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/time_corner"
      android:textcolor="@android:color/white"
      android:textsize="12sp"
      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: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/time_corner"
      android:textcolor="@android:color/white"
      android:textsize="12sp"
      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: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/time_corner"
      android:textcolor="@android:color/white"
      android:textsize="12sp"
      android:text="36"/>

  </linearlayout>

代码实现

public class homeactivity extends activity {

  @bind(r.id.tv_hour)
  textview tvhour;
  @bind(r.id.tv_minute)
  textview tvminute;
  @bind(r.id.tv_second)
  textview tvsecond;

  private long mhour = 02;
  private long mmin = 15;
  private long msecond = 36;
  private boolean isrun = true;

  private 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("0"+mhour+"");
        }
        if (mmin<10){
          tvminute.settext("0"+mmin+"");
        }else {
          tvminute.settext(mmin+"");
        }
        if (msecond<10){
          tvsecond.settext("0"+msecond+"");
        }else {
          tvsecond.settext(msecond+"");
        }
      }
    }
  };

  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    requestwindowfeature(window.feature_no_title);
    setcontentview(r.layout.activity_home);
    butterknife.bind(this);
    startrun();
  }


  /**
   * 开启倒计时
   */
  private void startrun() {
    new thread(new runnable() {

      @override
      public void run() {
        // todo auto-generated method stub
        while (isrun) {
          try {
            thread.sleep(1000); // sleep 1000ms
            message message = message.obtain();
            message.what = 1;
            timehandler.sendmessage(message);
          } catch (exception e) {
            e.printstacktrace();
          }
        }
      }
    }).start();
  }

  /**
   * 倒计时计算
   */
  private void computetime() {
    msecond--;
    if (msecond < 0) {
      mmin--;
      msecond = 59;
      if (mmin < 0) {
        mmin = 59;
        mhour--;
      }
    }
  }
}

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

上一篇:

下一篇: