在android的应用开发中,我认为添加drawable类型的图片非常好用。为TextView或者EditText添加一个drawableLeft图片或者drawableRight图片非常方便,在一些情况下,还能减少布局层数,优化程序性能。比如我们想实现以下效果
我们只要给TextView添加drawableLeft图片就好,不要在TextView的外层在嵌套一层布局了
但是,有时候我们想给这些drawable的图片添加一个监听器,方便我们实现一些业务代码或者跳转逻辑
根据以往我们的开发经验,要给一个控件注册监听器,必须拿到他的实例对象,把监听器注册给这个对象,才能完成回调
但是在现在这种情况下,TextView和左边那张图片明显是一个控件,我们无法在对象层面把它们区分开来
这时候,我们只能在android层面上解决这个问题。
在我之前分享的博客中 Android 事件分发机制详解--真正的解析中已经提到,每个view的事件分发首先会调用dispatchTouchEvent,在这个方法中会调用onTouch事件,根据onTouch的返