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);
        }
  • 相关阅读:
    Altova MapForce AMS/ACI/ISF自定义模板
    CSS currentColor 变量
    CSS之咖啡菜单网页设计
    css3之3D 旋转立方体与哆啦A梦
    CSS3 3D转换——rotateX(),rotateY(),rotateZ()
    Emmet常用语法
    CSS3 的动画属性
    CSS的五种基本选择器
    盒模型之标准模型与怪异模型
    CSS3的2D 转换——旋转,缩放,translate(),skew(),matrix()
  • 原文地址:https://www.cnblogs.com/androidxufeng/p/3654916.html
Copyright © 2011-2022 走看看