天天看点

viewpager图片查看 缩放 拖拽(高仿微信图片浏览效果)

源码已上传git: https://github.com/zjfangyufeng/ImageDetailDemo

发现市面上安卓的大图浏览还数微信做得体验最好。淘宝,新浪,网易新闻这些巨头的app大图浏览效果还是不够好......比如淘宝的,放大后,拖到边界就不动了,需要抬起手,再按下才能切换到下一页。还有比如他们的通病:viewpager切换到下一页都会闪一下。这个的原因,是在图片消费了触摸事件时没有改变viewpager的mLastMotionX mInitialMotionX属性,查看viewpager源码能发现viewpager在action_down事件时会记录mLastMotionX  mInitialMotionX的值(如果他们外层是用viewpager实现的话)。

这个需求的难点是对触摸事件的处理,因为有缩放,有拖拽,还有外层的viewpager的换页等等,如何处理好这些事件直接关系到用户体验。还有用Matrix实现对图片的平移,缩放。废话就不多说了,直接看源码吧,demo能直接跑的。