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

首頁 > 系統 > Android > 正文

Android使用Handler實現倒計時功能

2019-10-22 18:09:56
字體:
來源:轉載
供稿:網友

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

1、實現效果

如下圖所示: 

Android,Handler,倒計時

2、代碼實現

新建一個名為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);    //創建一個handler    CountdownTimeHandler handler = new CountdownTimeHandler(this);    //新建一個message    Message message = Message.obtain();    message.what = COUNTDOWN_TIME_CODE;    message.arg1 = MAX_COUNT;    //第一次發送message    handler.sendMessageDelayed(message, DELAY_MILLIS);  }  public static class CountdownTimeHandler extends Handler {    /**     * 倒計時最小值     */    public static final int MIN_COUNT = 0;    //創建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--));          //循環發送消息的控制          if (value >= MIN_COUNT) {            Message message = Message.obtain();            message.what = COUNTDOWN_TIME_CODE;            message.arg1 = value;            sendMessageDelayed(message, DELAY_MILLIS);          }          break;      }    }  }}

3、快捷鍵總結

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 固安县| 贵定县| 南部县| 斗六市| 乌审旗| 青阳县| 枣庄市| 理塘县| 石渠县| 汝城县| 涿州市| 河北省| 绥滨县| 城市| 乌兰浩特市| 萝北县| 阿勒泰市| 凤阳县| 皮山县| 栾川县| 伊宁市| 新巴尔虎右旗| 白玉县| 宣威市| 湟中县| 五河县| 南江县| 正安县| 万盛区| 商都县| 南部县| 牡丹江市| 兰西县| 萨嘎县| 东平县| 三河市| 秦皇岛市| 苍梧县| 洛扎县| 抚顺县| 乳源|