真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中怎么自定義一個(gè)倒計(jì)時(shí)按鈕

本篇文章為大家展示了Android中怎么自定義一個(gè)倒計(jì)時(shí)按鈕,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供皮山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為皮山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

代碼:

package com.dylan.frame.ui;

import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;

import java.util.Timer;
import java.util.TimerTask;

/**
 * 自定義倒計(jì)時(shí)按鈕
 * 

 *  * @author Dylan  *   

 *   [佛祖保佑 永無(wú)BUG]  *   Created by Dylan on 2015/11/5 0005.  */ public class CountdownButton extends Button implements View.OnClickListener {  private long lenght = 60 * 1000;//默認(rèn)倒計(jì)時(shí)時(shí)間;  private long time;//倒計(jì)時(shí)時(shí)長(zhǎng)  private Timer timer;//開(kāi)始執(zhí)行倒計(jì)時(shí)  private TimerTask timerTask;//每次倒計(jì)時(shí)執(zhí)行的任務(wù)  private String beforeText = "點(diǎn)擊獲取驗(yàn)證碼";  private String afterText = "秒后重新獲取";  private OnClickListener onClickListener;//按鈕點(diǎn)擊事件  /**   * 更新顯示的文本   */  private Handler handler = new Handler() {   @Override   public void handleMessage(Message msg) {    super.handleMessage(msg);    CountdownButton.this.setText(time / 1000 + afterText);    time -= 1000;    if (time < 0) {     CountdownButton.this.setEnabled(true);     CountdownButton.this.setText(beforeText);     clearTimer();    }   }  };  public CountdownButton(Context context) {   super(context);   this.setText(beforeText);   setOnClickListener(this);  }  public CountdownButton(Context context, AttributeSet attrs) {   super(context, attrs);   setOnClickListener(this);  }  public CountdownButton(Context context, AttributeSet attrs, int defStyleAttr) {   super(context, attrs, defStyleAttr);   setOnClickListener(this);  }  /**   * 清除倒計(jì)時(shí)   */  private void clearTimer() {   if (timerTask != null) {    timerTask.cancel();    timerTask = null;   }   if (timer != null) {    timer.cancel();    timer = null;   }  }  /**   * 設(shè)置倒計(jì)時(shí)時(shí)長(zhǎng)   *   * @param lenght 默認(rèn)毫秒   */  public void setLenght(long lenght) {   this.lenght = lenght;  }  /**   * 設(shè)置未點(diǎn)擊時(shí)顯示的文字   *   * @param beforeText   */  public void setBeforeText(String beforeText) {   this.beforeText = beforeText;  }  /**   * 設(shè)置未點(diǎn)擊后顯示的文字   *   * @param beforeText   */  public void setAfterText(String afterText) {   this.afterText = afterText;  }  /**   * 點(diǎn)擊按鈕后的操作   *   * @param v   */  @Override  public void onClick(View v) {   if (onClickListener != null) {    onClickListener.onClick(v);   }   initTimer();   this.setText(time / 1000 + afterText);   this.setEnabled(false);   timer.schedule(timerTask, 0, 1000);  }  /**   * 初始化時(shí)間   */  private void initTimer() {   time = lenght;   timer = new Timer();   timerTask = new TimerTask() {    @Override    public void run() {     handler.sendEmptyMessage(1);    }   };  }  /**   * 設(shè)置監(jiān)聽(tīng)按鈕點(diǎn)擊事件   *   * @param onclickListener   */  @Override  public void setOnClickListener(OnClickListener onclickListener) {   if (onclickListener instanceof CountdownButton) {    super.setOnClickListener(onclickListener);   } else {    this.onClickListener = onclickListener;   }  } }

上述內(nèi)容就是Android中怎么自定義一個(gè)倒計(jì)時(shí)按鈕,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站題目:Android中怎么自定義一個(gè)倒計(jì)時(shí)按鈕
分享路徑:http://weahome.cn/article/jpgphe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部