Android CountDownTimer 类实现倒计时
生活随笔
收集整理的這篇文章主要介紹了
Android CountDownTimer 类实现倒计时
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文用 Android 中的CountDownTimer 類實現倒計時功能,類似輸入手機號獲得驗證碼。界面如下所示:
1. 點擊 “開始計時” 按鈕后開始進行倒計時,
2. 倒計時過程:
3. 時間結束后按鈕變為 “重新驗證”,點擊后重新開始計時。
功能很簡單,Java 代碼如下:
public class MainActivity extends Activity {
private TimeCount time;
private Button checking;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time = new TimeCount(60000, 1000);// 創建CountDownTimer對象(設置時間為60秒)
checking = (Button) findViewById(R.id.button1);
checking.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
time.start();// 開始計時
}
});
}
/**
* 倒計時內部類
*/
class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);// 參數:總時長,計時間隔
}
@Override
public void onFinish() {// 計時完畢時觸發
checking.setText("重新驗證");
checking.setClickable(true);
}
@Override
public void onTick(long millisUntilFinished){// 計時過程顯示
checking.setClickable(false);
checking.setText(millisUntilFinished /1000 + "秒");
}
}
}
布局代碼:
<LinearLayout 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="com.example.testandroid.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phone_number" />
<EditText
android:hint="@string/input_number"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/begin"
/>
</LinearLayout>
主要來自:http://www.cnblogs.com/-cyb/archive/2011/12/18/Android_CountDownTimer.html,本人稍加整理。
總結
以上是生活随笔為你收集整理的Android CountDownTimer 类实现倒计时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 基础安装和Tomcat8配置
- 下一篇: Chrome 安装失败 错误代码 0X8