Android 设置DrawableRight和DrawableLeft 点击事件

Posted Taserio-xie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 设置DrawableRight和DrawableLeft 点击事件相关的知识,希望对你有一定的参考价值。

android 设置DrawableRight和DrawableLeft 点击事件

Android的TextView有个DrawableLeft和DrawableRight属性,UI布局中经常会用到。比如登陆界面,用户名和密码前面的图像,就是用DrawableLeft来设置的。

但比较郁闷的是,Android并没有为DrawableLeft和DrawableRight提供监听点击事件的api,但这个需求是很常见的,比如输入密码的时候,点击右边的眼睛,密码变为明文。

其实思路很简单,我们只要重写EditText的onTouchEvent,捕捉到点击事件,然后判断用户点击的位置是否点击到图标即可,不废话,用代码说话。

详细代码请见Github(若有更新只在github更新)

先创建一个类,继承EditText,如:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 /** * 加强版的EditText,可以响应DrawableLeft 和 DrawableRight的点击事件 * 要实现响应点击,先设置setDrawableListener * @author xing * @version 1.1 */ public class XEditText extends EditText private DrawableLeftListener mLeftListener ; private DrawableRightListener mRightListener ; final int DRAWABLE_LEFT = 0 ;      final int DRAWABLE_TOP = 1 ;      final int DRAWABLE_RIGHT = 2 ;      final int DRAWABLE_BOTTOM = 3 ;   @SuppressLint ( "NewApi" ) public XEditText ( Context context , AttributeSet attrs , int defStyleAttr , int defStyleRes ) super ( context , attrs , defStyleAttr , defStyleRes ) ;   public XEditText ( Context context , AttributeSet attrs , int defStyleAttr ) super ( context , attrs , defStyleAttr ) ;   public XEditText ( Context 旋转 TextView DrawableRight OnClick

如何在Kotlin中处理EditText drawableRight图标的点击监听器?

TextView简单学习

TextView简单学习

Android:Textview 通过代码设置 Drawable

Android Interface(UI) 界面控件简单介绍01

(c)2006-2024 SYSTEM All Rights Reserved IT常识