限时抢购倒计时实现效果图
布局:
<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--; } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。