软件编程
位置:首页>> 软件编程>> Android编程>> Android限时抢购倒计时实现代码

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

作者:DW的dory  发布时间:2021-08-09 13:56:51 

标签:Android,倒计时

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

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--;
     }
   }
 }
}
0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com