EditText添加drawableXXX的点击事件
来源:互联网 发布:大数据平台建设方案 编辑:程序博客网 时间:2024/05/17 05:51
- EditText提供了drawableXXX属性来设置控件的个位置的图片显示,但是没有提供响应的点击事件处理。
- 首先要考虑的问题是如何在java代码中获取点击的范围是否在图标范围内。getTotalPaddingXXX方法提供了包含drawableXXX在内的距离,而getPaddingXXX返回视图距响应方向的距离。所以就可以判断是否在图标内点击。
boolean touchable = event.getX() > (getWidth() - getTotalPaddingRight())&& (event.getX() < ((getWidth() - getPaddingRight())));
- 所以重写onTouchEvent方法,我需要根据当前输入类型来判断是否需要明暗文切换
public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { if (getCompoundDrawables()[2] != null) { boolean touchable = event.getX() > (getWidth() - getTotalPaddingRight()) && (event.getX() < ((getWidth() - getPaddingRight()))); if (touchable) { if(getInputType()==InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD+InputType.TYPE_CLASS_TEXT){ setCompoundDrawables(null, null, mRightDrawableSelect, null); setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); //view.setText(view.getText().toString()); }else{ setCompoundDrawables(null, null, mRightDrawableUnSelect, null); setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); } setSelection(getText().length()); } } } return super.onTouchEvent(event);}
- 最好还是通过接口的形式让外部传入相应的点击事件。
0 0
- EditText添加drawableXXX的点击事件
- EditText的点击事件
- EditText的点击事件
- Android edittext中添加图片并且监听图片的点击事件
- 怎样编写edittext的点击事件
- EditText的点击事件屏蔽键盘响应
- android 获取EditText的点击事件!
- EditText的点击事件首次不触发
- EditText 设置点击事件
- 在Edittext中添加图片并为图片添加点击事件
- 带图片(drawableXxx)的TextView
- 带图片(drawableXxx)的TextView:
- EditText 点击事件小问题
- EditText点击事件:弹出单选框
- EditText右边图标点击事件
- 给EditText的drawableRight属性的图片设置点击事件
- 给EditText的drawableRight属性的图片设置点击事件
- 给EditText的drawableRight属性的图片设置点击事件
- v4l2 入门教程
- 随机+文件流[乱搞]
- 身份认证与数字签名基础(一)
- EOJ1855 Expedition 贪心
- 在ubuntu上通过jenkins+Gradle搭建android自动化构建环境
- EditText添加drawableXXX的点击事件
- camel-SimpleRegistry
- Linus:利用二级指针删除单向链表
- Hadoop基于文件的数据结构及实例
- kubeadm init源码分析
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- Toolbar menu 遇到的问题
- 宏与内联函数
- N32905 DEMO板启动过程