自定义View

自定义一个倒计时的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);

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值