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>
代码实现
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 자동-생성된 메서드 스탑 while (isRun) { try { Thread.sleep(1000); // sleep 1000ms Message message = Message.obtain(); timeHandler.sendMessage(message); 1; catch (Exception e) { } e.printStackTrace(); } } } }).start(); } /** * 반지시 계산 */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; } } } }
이것이 본 글의 전부입니다. 여러분의 학습에 도움이 되길 바라며, 또한 많은 지원을 해 주시길 바랍니다.
언급: 본 내용은 인터넷에서 수집되었으며, 저작권자는 모두입니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 본 웹사이트는 소유권을 가지지 않으며, 인공적으로 편집되지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용이 발견되면, notice#w로 이메일을 보내 주시기 바랍니다.3codebox.com(메일을 보내는 경우,#을 @으로 변경하십시오. 신고를 하시고 관련 증거를 제공하시면, 해당 내용이 확인되면 즉시 해당 내용을 삭제할 것입니다。)