From:http://blog.sina.com.cn/s/blog_620e401d0101ahhr.html
matrix.setScale(interpolatedTime, interpolatedTime);
经常在中心缩放的应用中看到这段代码.
preTranslate是指在setScale前,平移,postTranslate是指在setScale后平移
注意他们参数是平移的距离,而不是平移目的地的坐标!
由于缩放是以(0,0)为中心的,所以为了把界面的中心与(0,0)对齐,就要preTranslate(-centerX, -centerY),
setScale完成后,调用postTranslate(centerX, centerY),再把图片移回来,这样看到的动画效果就是activity的界面图片从中心不停的缩放了
注:centerX和centerY是界面中心的坐标
本文详细解释了如何通过预平移(preTranslate)和后平移(postTranslate)配合setScale方法实现以界面中心为基点的缩放动画效果。通过将界面中心与坐标原点对齐,完成缩放后再复原位置,达到视觉上平滑的中心缩放效果。
1391

被折叠的 条评论
为什么被折叠?



