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="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>
Implementación del código
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(); } /** * Iniciar el conteo regresivo */ private void startRun() { new Thread(new Runnable() { @Override public void run() { // TODO Auto-generado por el método de plantilla while (isRun) { try { Thread.sleep(1000); // sleep 1000ms Message message = Message.obtain(); message.what = 1; catch (Exception e) { } e.printStackTrace(); } } } }).start(); } /** * Cálculo del conteo regresivo */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; } } } }
Esto es todo el contenido de este artículo, espero que sea útil para su aprendizaje y que todos nos apoyen en el tutorial de clamor.
Declaración: el contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido se ha contribuido y subido por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha realizado un procesamiento editorial humano y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.