Android图片标记(打标签、支持图片放大缩小)
2017-11-28 本文已影响1197人
认真的辰
先上效果图

1.为了实现图片的放到缩小,我选择了PhotoView 框架用于显示图片。
2.使用Glide 框架加载图片
3.实现原理:
通过自定义View继承FrameLayout,以PhotoView作为背景,动态添加ImageView作为点。
4.主要分析:
1)标签随图片移动:通过实现PhotoView的OnMatrixChangedListener接口,监听图片的位置及大小,动态设置标签的位置

2)点击图片任意位置,在此位置生成标签,

3)标签添加后,会导致布局重新测量,此时会导致已经放大的图片回到初始的位置及大小,在onLayout方法中重新设置photoView的Matrix。

矩形框的实现原理类似,难点就是在给icon添加了移动监听,保证icon可随处移动

下面是源码地址