自定义控件EditText

public class defineEditText extends EditText {
    Context context;
    Drawable d;
public defineEditText(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
        this.context=context;
        inint();
    }

public defineEditText(Context context) {
        super(context);
        this.context=context;
        inint();
    }

    public defineEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
        this.context=context;
        inint();
    }

    @SuppressLint("NewApi")
    private void inint() {
        // TODO Auto-generated method stub
        addTextChangedListener(new TextWatcher() {
            
            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub
                setdrawable();
            }

            
        });
    }
    private void setdrawable() {
        // TODO Auto-generated method stub
        if(getText().length()>1){
            d=context.getResources().getDrawable(R.drawable.ic_launcher);
            setCompoundDrawablesWithIntrinsicBounds(null, null, d, null);
        }else{
            setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
        }
    }
    
    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        canvas.drawLine(0, getHeight(), getWidth(), getHeight(), getPaint());
        super.onDraw(canvas);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // TODO Auto-generated method stub
        if(d!=null&&event.getAction()==MotionEvent.ACTION_UP){
            if(event.getX()>getWidth()-50){
            setText("");}
        }
        return super.onTouchEvent(event);
    }

 

转载于:https://www.cnblogs.com/androidxufeng/p/3654916.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值