自定义一个倒计时的button
1写一个MyButton extends Button
2重写里面的构造方法 含有一个和两个参数的构造方法
3在values文件夹下 创建一个文件,
attrs文件
<declare-styleable name="MyButton"> <attr name="maxnum" format="integer"/> <attr name="send" format="string|reference"/> </declare-styleable>
在还有两个参数的构造方法中进行设置
public MyButton(Context context, AttributeSet attrs) { super(context, attrs); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyButton); int integer = typedArray.getInteger(R.styleable.MyButton_maxnum,20); String string = typedArray.getString(R.styleable.MyButton_send); setMaxNum(integer); setSend(string); }
自定义的属性
private int num=10; private String sends;
对属性进行赋值
public void setMaxNum(int maxNum) { this.num = maxNum; } public void setSend(String send) { this.sends = send; }
逻辑代码的处理
public void countDown(){ setEnabled(false); final Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { if(num<=0){ timer.cancel(); handler.sendEmptyMessage(0); return; }else{ num--; handler.sendEmptyMessage(1); } } },0,1000); }