English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Code d'implémentation du compte à rebours de vente flash Android

限时抢购倒计时实现效果图

布局:

<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.

Vous pourriez aussi aimer