国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用Handler實現(xiàn)倒計時功能

2019-12-12 00:48:23
字體:
供稿:網(wǎng)友

本文實例為大家分享了Android實現(xiàn)倒計時功能的具體代碼,供大家參考,具體內(nèi)容如下

1、實現(xiàn)效果

如下圖所示:

2、代碼實現(xiàn)

新建一個名為CountdownTime的項目,activity_main.xml代碼如下:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity">  <TextView    android:id="@+id/countdownTimeTextView"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_centerInParent="true"    android:text="@string/maxTime"    android:textSize="60sp" /></RelativeLayout>

MainActivity.class代碼如下:

public class MainActivity extends AppCompatActivity {  /**   * 倒計時標記   */  public static final int COUNTDOWN_TIME_CODE = 99999;  /**   * 倒計時間隔   */  public static final int DELAY_MILLIS = 1000;  /**   * 倒計時最大值   */  public static final int MAX_COUNT = 10;  /**   * 文本控件   */  private TextView countdownTimeTextView;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //初始化文本控件    countdownTimeTextView = findViewById(R.id.countdownTimeTextView);    //創(chuàng)建一個handler    CountdownTimeHandler handler = new CountdownTimeHandler(this);    //新建一個message    Message message = Message.obtain();    message.what = COUNTDOWN_TIME_CODE;    message.arg1 = MAX_COUNT;    //第一次發(fā)送message    handler.sendMessageDelayed(message, DELAY_MILLIS);  }  public static class CountdownTimeHandler extends Handler {    /**     * 倒計時最小值     */    public static final int MIN_COUNT = 0;    //創(chuàng)建MainActivity弱引用    final WeakReference<MainActivity> mWeakReference;    public CountdownTimeHandler(MainActivity activity) {      this.mWeakReference = new WeakReference<>(activity);    }    @Override    public void handleMessage(Message msg) {      super.handleMessage(msg);      //獲取對MainActivity的弱引用      MainActivity activity = mWeakReference.get();      switch (msg.what) {        case COUNTDOWN_TIME_CODE:          int value = msg.arg1;          activity.countdownTimeTextView.setText(String.valueOf(value--));          //循環(huán)發(fā)送消息的控制          if (value >= MIN_COUNT) {            Message message = Message.obtain();            message.what = COUNTDOWN_TIME_CODE;            message.arg1 = value;            sendMessageDelayed(message, DELAY_MILLIS);          }          break;      }    }  }}

3、快捷鍵總結(jié)

Ctrl+Alt+F:改變變量的域
Ctrl+Alt+T:surrounded with快捷鍵
Ctrl+P:查看方法的參數(shù)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石景山区| 祥云县| 青川县| 陕西省| 大兴区| 平江县| 镇远县| 烟台市| 肃南| 蒲江县| 吉林省| 绩溪县| 宁晋县| 全州县| 于都县| 崇义县| 洮南市| 金门县| 洞头县| 德昌县| 阳原县| 电白县| 太原市| 邮箱| 新丰县| 石楼县| 丹阳市| 安平县| 中卫市| 松原市| 壶关县| 娄底市| 务川| 鄂伦春自治旗| 河北区| 德令哈市| 卢湾区| 航空| 澎湖县| 翼城县| 丹江口市|