Android带删除的EditText
来源:互联网 发布:淘宝执行运营工资高吗 编辑:程序博客网 时间:2024/03/29 05:23
/** * @author linglongxin24 * 2013-12-04 */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);mContext = context;init();}public EditTextWithDel(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);mContext = context;init();}public EditTextWithDel(Context context, AttributeSet attrs) {super(context, attrs);mContext = context;init();}private void init() {imgInable = mContext.getResources().getDrawable(R.drawable.delete_gray);imgAble = mContext.getResources().getDrawable(R.drawable.delete);addTextChangedListener(new TextWatcher() {@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {}@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void afterTextChanged(Editable s) {setDrawable();}});setDrawable();}//设置删除图片<p>private void setDrawable() {</p>if(length() < 1)setCompoundDrawablesWithIntrinsicBounds(null, null, imgInable, null);elsesetCompoundDrawablesWithIntrinsicBounds(null, null, imgAble, null);} // 处理删除事件 @Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if(rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); } @Override protected void finalize() throws Throwable { super.finalize(); }}
效果
源码下载
0 0
- Android带删除的EditText
- [Android]带删除按钮的EditText
- Android带删除图标的EditText
- 带删除的EditText
- Android-EditText(自定义带删除功能的EditText)
- Android-EditText 自定义带删除功能的EditText
- Android-EditText(自定义带删除功能的EditText)
- 带删除功能的EditText
- 带删除功能的edittext
- 带删除按钮的EditText
- 带删除Icon的EditText
- 带删除按钮的EditText
- 自定义带删除的 EditText
- 带删除按钮的EditText
- 带删除按钮的EditText
- 带删除按钮的 EditText
- 带删除功能的EditText
- android自定义控件(组合控件)--带删除按钮的EditText
- QTP中的Description对象详解
- 各类储存芯片基础
- 继承和多态
- [LeetCode] Add Two Numbers
- iOS设计模式之三:适配器模式和观察者模式
- Android带删除的EditText
- SmaterWeatherApi---签名加密和数据访问--简单粗暴一步搞定
- 流量劫持是如何产生的?
- installArchives()failed: dpkg: dependency problems prevent configuration ofbcompare:i386: bcompar
- SystemConfigrationServlet
- libGDX视频教程(一) -- 初识libGDX
- iOS设计模式之四:备忘录模式和命令模式
- 推荐一款好用的jquery弹出层插件——wbox
- SVN权限配置