利用TouchDelegate提升用户体验
发布日期:2021-06-30 11:17:21
浏览次数:2
分类:技术文章
本文共 1656 字,大约阅读时间需要 5 分钟。
最近在维护公司的老项目,客户反馈了一个问题:
点赞的红色小桃心有时点击之后没有响应。嗯哼,既然客户说有这个问题,那么就需要确认一下。
从豌豆荚上下载了一个最新版本,安装后跳转到详情页面,然后点赞。反复操作几次发现:有时果然点不到。检查一下代码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() { @Override public 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); } }); }
怎么调用该方法呢?
@Override protected 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() { @Override public void onClick(View v) { Toast.makeText(mContext,"点赞成功",Toast.LENGTH_SHORT).show(); } }); }
在此,将点赞按钮的可触摸范围扩大200px
setTouchDelegate(mPraiseImageView,200);
从而提升了用户体验。
这样做不用调整布局文件,只用修改代码即可。
转载地址:https://it9527.blog.csdn.net/article/details/52401653 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年05月03日 22时12分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
scala maven plugin
2021-07-03
flink 1-个人理解
2021-07-03
redis cli
2021-07-03
redis api
2021-07-03
flink physical partition
2021-07-03
java 解析json
2019-04-30
java http请求
2019-04-30
tensorflow 数据格式
2019-04-30
tf rnn layer
2019-04-30
常用中间件
2019-04-30
tf input layer
2019-04-30
tf model create
2019-04-30
tf dense layer两种创建方式的对比和numpy实现
2019-04-30
tf initializer
2019-04-30
tf 从RNN到BERT
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
tf keras Dense源码解析
2019-04-30
tf rnn输入输出的维度和权重的维度
2019-04-30
检验是否服从同一分布
2019-04-30
tf callbacks
2019-04-30