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

كود تحقيق حساب الوقت المتبقي للشراء المحدود في Android

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

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="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 Auto-generated method stub
        while (isRun) {
          try {
            Thread.sleep(1000); // غفوة 1000ms
            Message message = Message.obtain();
            message.what = 1;
            timeHandler.sendMessage(message);
          } catch (Exception e) {
            e.printStackTrace();
          }
        }
      }
    }).start();
  }
  /**
   * حساب العد التنازلي
   */
  private void computeTime() {
    mSecond--;
    إذا (mSecond < 0) {
      mMin--;
      mSecond = 59;
      إذا (mMin < 0) {
        mMin = 59;
        mHour--;
      }
    }
  }
}

هذا هو نهاية محتوى هذا المقال، آمل أن يكون قد ساعد في تعلمكم، وأتمنى أن تشجعوا دروس呐喊 بشكل أكبر.

البيان: محتوى هذا المقال تم جمعه من الإنترنت، حقوق النشر مملوكة للمالك الأصلي، المحتوى تم تقديمه من قبل مستخدمي الإنترنت بشكل متعاوني وتحميله بشكل مستقل، هذا الموقع لا يملك حقوق الملكية، لم يتم تعديل المحتوى بشكل يدوي ولا يتحمل أي مسؤولية قانونية متعلقة بذلك. إذا اكتشفت أي محتوى يشتبه في انتهاك حقوق النسخ، فلا تتردد في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (باستبدال # بـ @) لتقديم الشكوى، وقدم الدليل على الشكوى، وسيتم حذف المحتوى المزعوم الذي يشتبه في انتهاك حقوق النسخ على الفور.

أنت قد تعجب بهذا