Android带清除功能的输入框控件带清除功能的输入框控件EditTextWithDel
主要为大家详细介绍了Android带清除功能的输入框控件EditTextWithDel,感兴趣的小伙伴们可以参考一下
记录下一个很实用的小控件EditTextWithDel,就是在Android系统的输入框右边加入一个小图标,点击小图标可以清除输入框
里面的内容,由于Android原生EditText不具备此功能,所以要想实现这一功能我们需要重写EditText。
效果图如下:
主要的思路就是为右边的图片设置监听,点击右边的图片清除输入框的内容并隐藏删除图标,因为我们不能直接给EditText设置
点击事件,所以我们用记住我们按下的位置来模拟点击事件,用输入框的的onTouchEvent()方法来模拟.
package com.xiaolijuan.edittextwithdeldome;
import android.content.Context;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.EditText;
/**
* @author: adan
* @description: 自定义带有删除功能的EditText
* @projectName: EditTextWithDelDome
* @date: 2016-02-28
* @time: 23:34
*/
public class EditTextWithDel extends EditText {
private final static String TAG = "EditTextWithDel";
private Drawable imgInable;
private Drawable imgAble;
private Context mContext;
public EditTextWithDel(Context context) {
super(context);