利用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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:探索Android软键盘的疑难杂症
下一篇:详解ImageView的CENTER_CROP,CENTER_INSIDE,FIT_CENTER等属性

发表评论

最新留言

不错!
[***.144.177.141]2024年05月03日 22时12分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章