可以放大缩小并且,放大缩小后点击依然可以找到标记区域的ImageView(类似地图相关功能)

原文:https://www.zybuluo.com/Tyhj/note/942875
最近公司项目需要用到这样一个功能,就是有个地图,点击进入到下一级地图,地图是可以放大缩小的。地图放大缩小后点击区域就有点难判断,其实单单手势的放大缩小图片做到完美也是很难的。

我首先在GitHub上面找到一个完全符合自己要求的:InDoorSurfaceView
项目地址:https://github.com/karonl/InDoorSurfaceView
但是其实有一些小问题,比如图片加载前的空白,图片会平移出可视界面,还有内存泄漏问题,反正就是用不了,程序会崩,使用起来也很麻烦。

然后自己仔细想想,这个东西并不难呀,我们先获取图片的大小,图片放大后我们只要知道放大的倍数,和图片X轴和Y轴偏移的距离,点击的时候,我们获取点击点相对于图片的坐标,我们把点击的点的坐标也同样偏移一下,再缩小相同的倍数,得到的就是相当于点击原图的坐标,这样我们只需要在知道我们所标记的区域相当于图片的相对位置,其实也就是用百分比来表示,然后就可以了。

怎么获取相关信息并且做出一个很好的可缩放控件呢,刚好我之前使用过一个非常好的可缩放的ImageView控件:PinchImageView,我本来打算根据这个控件来改写,一看源码,我们要的数据它大多数已经实现了,具体就按照之前方法来写,完成后效果也不错

项目地址:https://github.com/tyhjh/ZomMapView
点击查看效果:http://oy5r220jg.bkt.clouddn.com/g_1108094420

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,633评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,222评论 4 61
  • #幸福是需要修出来的~每天进步1%~幸福实修04班31、08班02-陈莉梅-浙江永康# 201708017(60/...
    陈莉梅阅读 721评论 0 0
  • 他的老伴过世得早,留下三个孩子,可孩子长大后都出了国,有了自己的生活圈。 孩子不在身边,所幸老人还有个学生,跟进跟...
    TWE阅读 13,392评论 0 0
  • 有的人口是心非,但也有人心是口非。 当我们在生活中遇到不开心的事,比如工作上与同事关系冷淡,学习上压力太...
    洋爱人阅读 3,038评论 0 0