相似美图秀秀的自由拼图功能是怎么实现的?

============问题描述============算法


重写imageview..但不晓得为什么我重写后只能显示一张图片,其他的仍是不显示?

============解决方案1============队列


不一样格子的形式能够定义一个VIEW,最后把整个组合成一个IMAGE

============解决方案2============事件

其实所有功能都能在同一个View里完成,用一个ArrayList记录全部的图片及其相关信息(例如位置,旋转角度等,写一个队列去记录便可),onTouch事件每次Action_Down的时候检测点击位置是否有图片,若是有则把位于最上面的图片放到ArrayList的第一位置,接下来全部Action_Move事件所有只对第一位置的图片起做用(onDraw里按ArrayList的倒序画图片就好了,给最后一个画的图片加上Action_Move中的产生的位置、状态变化的参数),Action_UP的时候就从新记录第一位置图片变化后的信息 其中检测算法要你本身去想,由于图片旋转后4个点的位置就变了,怎么判断点击的地方有没有图片的一个角是个小难点,图片的放大缩小、移动、旋转所有在onDraw里用Matrix完成便可,最后生成图片若是跟预览图大小不一样就乘个比例。 大体的思路就是这样,代码是公司的我不方便放,剩下算法、流程什么的LZ你本身思考一下就好了