自定义View解决一张图片不同位置点击事件

说明

文章首发于HURUWO的博客小站,本平台做同步备份发布。

如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览。

原文链接 自定义View解决一张图片不同位置点击事件直接点击即可前往访问。

更多技术文章访问本人博客HuRuWo的技术小站,包括 Electron从零开发 Android 逆向 app 微信数据抓取 抖音数据抓取 闲鱼数据抓取 小红书数据抓取 其他软件爬虫 等技术文章

需求发起

产品发来大概像这样的一张图,要求点击不同的位置进入不同的内部。
我以为他会切小图,通过拼接组合成如图的样子。结果被告知只有一张jpg图片,必须完成不同部位的点击事件。

点击即可前往原文由于CDN设置时间戳,图片可能失效,请前往原文地址浏览

解决方法

经过搜索,发现以下几种方法
1.该图作为viewgroup背景,使用很多个透明的view盖上建筑。随后点击view的事件。
2.获得途中所有点击路径的path,通过path建立选择区域。(只能适合svg图片)
3.强行抠图,将建筑扣下来配合留下的部分组合成整图。
4.自定义view,通过点击的区域百分比判断点击的部分。但需要知道每个区域的范围。

综合考虑1需要大量view且适配不好,2不是svg图片,无法拿到path,3不适合,适配比1更差。最后选择4,这也是大多数人的选择。

点击即可前往原文由于CDN设置时间戳,图片可能失效,请前往原文地址浏览

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值