English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
限时抢购倒计时实现效果图
布局:
<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="0"2"/> <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(); {} /** * Ouvrir le compte à rebours */ 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; catch (Exception e) { } e.printStackTrace(); {} {} {} }).start(); {} /** * Calcul du compte à rebours */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; {} {} {} {}
Voici la fin de cet article, j'espère qu'il vous sera utile dans vos études et que vous continuerez à soutenir le tutoriel呐喊.
Déclaration : le contenu de cet article est tiré d'Internet, propriété de son auteur respectif. Le contenu est contribué et téléversé par les utilisateurs d'Internet, le site n'en possède pas la propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu susceptible de violer les droits d'auteur, veuillez envoyer un e-mail à notice#w.3Pour signaler une violation, veuillez envoyer un e-mail à codebox.com (remplacez # par @) et fournir des preuves pertinentes. Si les violations sont confirmées, le site supprimera immédiatement le contenu suspect.