说明
文章首发于HURUWO的博客小站,本平台做同步备份发布。
如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览。
原文链接 自定义View解决一张图片不同位置点击事件直接点击即可前往访问。
更多技术文章访问本人博客HuRuWo的技术小站,包括 Electron从零开发 Android 逆向 app 微信数据抓取 抖音数据抓取 闲鱼数据抓取 小红书数据抓取 其他软件爬虫 等技术文章
需求发起
产品发来大概像这样的一张图,要求点击不同的位置进入不同的内部。
我以为他会切小图,通过拼接组合成如图的样子。结果被告知只有一张jpg图片,必须完成不同部位的点击事件。
解决方法
经过搜索,发现以下几种方法
1.该图作为viewgroup背景,使用很多个透明的view盖上建筑。随后点击view的事件。
2.获得途中所有点击路径的path,通过path建立选择区域。(只能适合svg图片)
3.强行抠图,将建筑扣下来配合留下的部分组合成整图。
4.自定义view,通过点击的区域百分比判断点击的部分。但需要知道每个区域的范围。
综合考虑1需要大量view且适配不好,2不是svg图片,无法拿到path,3不适合,适配比1更差。最后选择4,这也是大多数人的选择。