zoukankan      html  css  js  c++  java
  • 自定义控件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);
        }
  • 相关阅读:
    Repeater中使用Button
    C#, JS, HTML 转义字符
    简化: ASP.NET 事件触发顺序
    必须写闭合标签
    JS通用窗口拖动函数
    SQL修修补补语句
    asp.net: RDLC 报表
    Ascx中引用(调用)JS文件,在用户控件中引用(调用)JS文件
    <a>
    JS, CSS 引用样式
  • 原文地址:https://www.cnblogs.com/androidxufeng/p/3654916.html
Copyright © 2011-2022 走看看