2011-06-06 82 views
4

我正在使用矩陣來翻譯/縮放ImageView,setImageMatrix後,結果直接顯示,有無論如何使它動畫?Android:ImageView上的矩陣操作,動畫?

謝謝!

+0

你在做可縮放的imageview嗎? – ingsaurabh 2011-06-06 05:21:51

+0

我不確定,我只是在佈局文件中將scaleType設置爲矩陣,並且在Activity中檢測到拖動和捏合,並操作了imageview的矩陣。 – hzxu 2011-06-06 07:33:49

+0

我的意思是說你想放大縮小圖像視圖 – ingsaurabh 2011-06-06 07:35:45

回答

1

進一步放大將是兩者的結合轉化和規模:

// zooms in to the center of the screen 
mZoomIn = new AnimationSet(true); 

mTranslate = new TranslateAnimation(
       Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -imageViewXCoord/(mScreenWidth/mImageViewWidth), 
       Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -imageViewYCoord/(mScreenWidth/mImageViewWidth) 
      ); 
mTranslate.setDuration(200); 

mScale = new ScaleAnimation(1, mScreenWidth/mImageViewWidth, 1, mScreenWidth/mImageViewWidth); 
mScale.setDuration(200); 

mZoomIn.addAnimation(mTranslate); 
mZoomIn.addAnimation(mScale); 
mZoomIn.setFillAfter(true); 
mZoomIn.setFillEnabled(true); 

mImageView.startAnimation(mZoomIn); 

放大了將在涉及的變焦反向插補,之後你可以調用startAnimation上您的圖像視圖按照正常情況:

mZoomIn.setInterpolator(new ReverseInterpolator()) 
0

您可以嘗試使用Honeycomb中引入的新動畫框架,但我不知道這是否會直接與圖像矩陣一起工作。您可以將您在矩陣中應用的轉換轉換爲基本動畫轉換,如縮放,平移,旋轉,alpha。

如果您的目標是Android 2.x設備,您可以使用Jake Wharton的NineOldAndroids [1],它是Honeycomb新動畫框架的後端。它非常易於使用,因爲它可以模擬您在11個設備上使用的相同API。

[1] http://nineoldandroids.com/