自定义DrawableTextView——实现TextView左上右下的点击监听

本文介绍了如何在Android开发中创建一个自定义的DrawableTextView,以处理TextView左上右下图片的点击事件。通过计算图片在布局中的点击区域,实现点击监听,简化XML布局并提高代码可读性。文章提供自定义TextView的代码示例,主要展示了左右两侧图片的监听实现,鼓励读者自行扩展上下方向的监听功能。
摘要由CSDN通过智能技术生成

在Android开发中我们经常遇到TextView左上右下有图片的UI布局情形,并且各个图片点击后都要做相应的逻辑操作,这种情况下我们首先想到的是利用线性布局或相对布局去排版,然后给每个图片设置id,再在代码中去获取对应的控件,最后再设置相应的点击事件。这是最常用、最普遍的做法,也比较简单通俗易懂。但是这样写的弊端就是在XML布局文件中代码显得很臃肿,阅读性较差。

最近在做个类似与京东商城的项目,里面有很多类似于这样的布局,由于本人有很强的强迫症,故在网上各种搜索,再加上本人对TextView控件的理解。决定自定义一个UI布局简单,功能更强大的TextView。

大家都知道TextView中有drawableLeft=”“,drawableTop=”“,drawableRight=”“,drawableBottom=”“这四个属性,也就是说我们可以在TextView的左上右下添加图片。那么DrawableTextView的思想就是准确计算出左上右下四张图片在布局中的所占的点击区域,如果点击区域被点击后,则通过接口回调做相应的逻辑操作。好了,直接上代码:

1:自定义DrawableTextView

/**
* Created by salmonzhang on 2017/7/11
* 自定义一个TextView,实现左右点击监听功能
*/
public class DrawableTextView extends android.support.v7.widget.AppCompatTextView {
private DrawableRightClickListener mDrawableRightClickListener;
private DrawableLeftClickListener mDrawableLeftClickListener;
final 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值