English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Countdown effect diagram of limited-time purchase
Layout:
<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>
Code Implementation
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(); } /** * Start Countdown */ 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.what = timeHandler.sendMessage(message); 1; catch (Exception e) { } e.printStackTrace(); } } } }).start(); } /** * Countdown Calculation */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; } } } }
That's all for this article. I hope it will be helpful to everyone's learning and that everyone will support the Yelling Tutorial more.
Statement: The content of this article is from the Internet, and the copyright belongs to the original author. The content is contributed and uploaded by Internet users spontaneously. This website does not own the copyright, has not been manually edited, and does not assume any relevant legal liability. If you find any content suspected of copyright infringement, please send an email to: notice#w3Please send an email to codebox.com (replace # with @ when sending an email) to report violations, and provide relevant evidence. Once verified, this site will immediately delete the infringing content.