matrix.setScale(interpolatedTime, interpolatedTime);
matrix.preTranslate(-centerX, -centerY);
matrix.postTranslate(centerX, centerY);
經常在中心縮放的應用中看到這段代碼.
preTranslate是指在setScale前,平移,postTranslate是指在setScale後平移
註意他們參數是平移的距離,而不是平移目的地的坐標!www.aiwalls.com
由於縮放是以(0,0)為中心的,所以為瞭把界面的中心與(0,0)對齊,就要preTranslate(-centerX, -centerY),
setScale完成後,調用postTranslate(centerX, centerY),再把圖片移回來,這樣看到的動畫效果就是activity的界面圖片從中心不停的縮放瞭
註:centerX和centerY是界面中心的坐標