探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


最近在维护公司的老项目,客户反馈了一个问题:
点赞的红色小桃心有时点击之后没有响应。


嗯哼,既然客户说有这个问题,那么就需要确认一下。
从豌豆荚上下载了一个最新版本,安装后跳转到详情页面,然后点赞。反复操作几次发现:有时果然点不到。检查一下代码ClickListener没有问题,但是由于该图片较小(150*150),导致有时点击不到该图片从而带来不太好的用户体验。


那么这个小问题可以怎么来优化呢?

方法一

在该图片外包裹一层布局比如RelativeLayout且设定其大小(比如300*300).然后为该布局设置ClickListener响应点赞操作。
通过这么做,可以达到目的,但是有点繁琐,改了布局文件还要修改代码。

方法二

利用TouchDelegate扩大View的可触摸范围,核心代码如下:

public static void setTouchDelegate(final View view, final int expandTouchWidth) {final View parentView = (View) view.getParent();parentView.post(new Runnable() {@Overridepublic void run() {final Rect rect = new Rect();view.getHitRect(rect);rect.top -= expandTouchWidth;rect.bottom += expandTouchWidth;rect.left -= expandTouchWidth;rect.right += expandTouchWidth;TouchDelegate touchDelegate = new TouchDelegate(rect, view);parentView.setTouchDelegate(touchDelegate);}});}

怎么调用该方法呢?

 @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mContext=this;mPraiseImageView= (ImageView) findViewById(R.id.praiseImageView);setTouchDelegate(mPraiseImageView,200);mPraiseImageView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(mContext,"点赞成功",Toast.LENGTH_SHORT).show();}});}

在此,将点赞按钮的可触摸范围扩大200px

setTouchDelegate(mPraiseImageView,200);

从而提升了用户体验。

这样做不用调整布局文件,只用修改代码即可。

利用TouchDelegate提升用户体验相关推荐

  1. APP开发中这十个细节能直接影响到用户体验,那么如何提升用户体验?

    随着软件开发技术的不断发展和完善,有众多同类选择的APP用户越来越挑剔,单单拼功能拼硬件已经不足以捕获用户芳心.在APP使用过程中,大部分用户无意识地培养出了对使用体验的重视感.这警醒企业,只盯着为用 ...

  2. 浩辰CAD 2021:深度升级,全面提升用户体验!

    在全球新冠疫情背景下,全球经济发展速度明显减缓,国内国外的市场竞争更加激烈,各企业对于提升数字化.网络化.智能化发展水平的需求也愈发迫切.这就需要企业配备更加全面和系统化的数字化设计平台,提高创新研发 ...

  3. 体验提升1:提升用户体验,应该从哪里开始?

    先说一下,企业为什么要数字化转型?或者说:数字化转型能给企业带来什么? 数字化转型是一个运用数字技术和新能源对企业业务持续优化的过程,是一次系统工程. 在这个过程中,数字化转型的企业能顾搜获的是体验提 ...

  4. 描点链接元素的优化提升用户体验

    用一些大网站的时候,发现有一个很细节的共同点:点击链接元素的时候,链接元素会产生一个明显的边框,而且这个边框的颜色和#f27b04很接近,我觉得既然很多大网站都这么做,这其中肯定有一些用户体验方面的东 ...

  5. 网络营销外包——网络营销外包专员浅析提升用户体验从哪入手?

    众所周知,在网站运营期间,网站跳出率的高低直接反映出用户对网站喜爱与否,也是检测网站性能是否丝滑的关键点,如果网站跳出率越高就证明用户体验越差,搜索引擎也不会更加注重抓取该网站.那么如果提高用户体验, ...

  6. 纯前端表格控件SpreadJS V12.1 隆重登场,专注易用性,提升用户体验

    ​ 一款优秀的开发工具,在更新迭代中,除了要满足不同场景的业务需求,也需不断优化已有功能,尤其是细节方面,要能为用户带来使用体验和开发效率的提升. 作为一款备受业界专家和开发者认可的纯前端类Excel ...

  7. paip.提升用户体验--提升java的热部署热更新能力

    paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力  "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...

  8. 使用渐进式JPEG来提升用户体验

    今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式).两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别 ...

  9. android 6.0适应的机型,提升用户体验 可升Android 6.0机型盘点

    原标题:提升用户体验 可升Android 6.0机型盘点 [手机中国 导购]2009年Android系统正式发布,由此加速手机走向智能化进度.如今,随着Android系统日渐成熟,众多手机厂商都在此基 ...

  10. electron加载html加载不起来,Electron 预加载远程页面提升用户体验

    使用场景 Electron 内置 Chromium 和 Node.js,为了提升用户体验,通常 Electron 封装的前端静态文件存储在客户端本地.但总有一些特殊情况,会使用到部分远程页面. 比如微 ...

最新文章

  1. Linux中环境变量与文件查找
  2. php缺失php5.dll,php5.dll丢失怎么办
  3. [转]asp.net文件下载方法...
  4. 文件流导出乱码_Savespss:不使用StatTransfer也可转换dta为sav文件的利器
  5. 罗彻斯特大学计算机科学系专业排名,罗切斯特大学计算机专业怎么样?
  6. Oracle导入大数据量(百万以上)dmp文件,报错ora-12592 :包错误
  7. 推荐几个我目前在用的简历制作工具
  8. confluence 统计页面访问量插件Page View Tracker
  9. 青岛职业技术学院计算机专业宿舍,青岛职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
  10. 关于百度地图根据经纬度获取城市信息的接口
  11. java百度地图离线LBS_百度地图之离线下载功能
  12. 我的世界java放大化是什么_我的世界:你玩过神奇的放大化种子吗?官方:这些东西非常吃资源...
  13. bzoj2442[USACO2011 Open]Mowing the Lawn修建草坪
  14. 个别网站打不开,但是别人能打开,手机能打开
  15. html+svg原理,SVG无功补偿的原理是什么
  16. origin与matlab 双向联合数据处理
  17. 财阀还是民主?DeFi协议大战,暗潮汹涌
  18. 调用百度ai接口实现图片文字识别详解
  19. html实训报告致谢,学术论文致谢词范文
  20. Java实现伪造邮件发信人

热门文章

  1. python刷题记录:买帽子
  2. 智能指针手表_反对智能手表
  3. java der decode_支付宝进行签名时爆DER input, Integer tag error异常
  4. boost log使用
  5. 微信小程序-分享页面到微信群或者好友携带分享者身份信息
  6. 【原创】从文华财经下载数据并且分析每个期货品种的贝塔值-云金杞
  7. ONF代理执行董事Rick Bauer出走MEF
  8. 团队项目(小小大佬带飞队)
  9. 64位处理器_64位系统真的比32位系统快吗?
  10. Mac键盘部分数字键和字母键失灵,无法使用怎么办?