import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.EditText; public class CustomEditText extends EditText { boolean isAdd=false; float x=0; float y=0; float imgX=0; public CustomEditText(Context context, AttributeSet attrs) { super(context, attrs); setOnClickListener(new OnClickListener() { public void onClick(View v) { Log.d("tt", "点击"); if(x>imgX){ setText(""); } } }); if(!"".equals(getText().toString())){ isAdd=true; } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if(isAdd){ Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.fork); Paint paint = new Paint(); paint.setTextSize(30); paint.setTextScaleX(1); paint.setColor(Color.BLACK); float h=this.getHeight(); float h2=bitmap.getHeight(); float f=h/2-(h2/2); imgX=(float) (getWidth()-(bitmap.getWidth()*1.1)); canvas.drawBitmap(bitmap, imgX , f, paint); } } @Override public boolean onTouchEvent(MotionEvent event) { x=event.getX(); y=event.getY(); return super.onTouchEvent(event); } @Override protected void onTextChanged(CharSequence text, int start,int lengthBefore, int lengthAfter) { super.onTextChanged(text, start, lengthBefore, lengthAfter); String temp=getText().toString(); if("".equals(temp)){ isAdd=false; }else{ isAdd=true; } } }
Android学习笔记——自定义EditText增加清除功能
最新推荐文章于 2024-05-30 10:44:35 发布