Android獲取驗證碼倒計時實現代碼
更新時間:2022年08月02日 11:25:13 作者:Swift社區(qū)
這篇文章主要為大家詳細介紹了Android獲取驗證碼倒計時的實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Android獲取驗證碼倒計時的具體代碼,供大家參考,具體內容如下
1. 驗證碼輸入框和獲取驗證碼按鈕布局
xml代碼:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:orientation="horizontal" >
<EditText
android:id="@+id/phonetext"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginLeft="15dp"
android:layout_gravity="center_vertical"
android:inputType="number"
android:hint="請輸入短信驗證碼"
android:background="@null"/>
<Button
android:id="@+id/timebutton"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginRight="15dp"
android:layout_marginTop="10dp"
android:textSize="16dp"
android:background="@drawable/tv_timemessage_bg"
android:text="獲取"
/>
</LinearLayout>效果如下:

2. 根據id設置Button點擊事件觸發(fā)倒計時
JAVA代碼:
/**
* Created by fby on 2017/9/11.
*/
public class ChargepsdActivity extends Activity {
private Button timeButton;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chargepsd);
timeButton = (Button) findViewById(R.id.timebutton);
//new倒計時對象,總共的時間,每隔多少秒更新一次時間
final MyCountDownTimer myCountDownTimer = new MyCountDownTimer(60000,1000);
//設置Button點擊事件觸發(fā)倒計時
timeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
myCountDownTimer.start();
}
});
}3. 倒計時函數
//倒計時函數
private class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
//計時過程
@Override
public void onTick(long l) {
//防止計時過程中重復點擊
timeButton.setClickable(false);
timeButton.setText(l/1000+"秒");
}
//計時完畢的方法
@Override
public void onFinish() {
//重新給Button設置文字
timeButton.setText("重新獲取");
//設置可點擊
timeButton.setClickable(true);
}
}
}4. 清除倒計時函數,解決驗證碼輸入正確后停止計時
private void clearTimer() {
if (task != null) {
task.cancel();
task = null;
}
if (timer != null) {
timer.cancel();
timer = null;
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android使用CardView作為RecyclerView的Item并實現拖拽和左滑刪除
這篇文章主要介紹了Android使用CardView作為RecyclerView的Item并實現拖拽和左滑刪除,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Android Compose衰減動畫Animatable使用詳解
這篇文章主要為大家介紹了Android Compose衰減動畫Animatable使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Android Activity切換(跳轉)時出現黑屏的解決方法 分享
Android Activity切換(跳轉)時出現黑屏的解決方法 分享,需要的朋友可以參考一下2013-06-06

