2012-09-06 79 views
5

我有一個圖像(它看起來像一個圓形的加載圓),我想圍繞它自己的中心旋轉..我看到了很多代碼,建議設置PivotY和PivotX到0.5F或圖像的一半。這兩個不工作..大量的試驗後和錯誤它並圍繞它自己的中心,用下面的代碼旋轉:旋轉中心不光滑的圖像(Monodroid)

ImageView loading = FindViewById<ImageView>(Resource.Id.loadingGif); 
RotateAnimation rAnim = new RotateAnimation(0.0F, 359.0F,  Dimension.RelativeToSelf, 0.25F, Dimension.RelativeToSelf, 0.25F); 
rAnim.Interpolator = new LinearInterpolator(); 
rAnim.RepeatCount = Animation.Infinite; 
rAnim.Duration = 1000; 
loading.StartAnimation(rAnim); 

但動畫本身是不會順利了,形象似乎繞50degrees然後開始掛起並跳過一半的旋轉,然後通常在旋轉的上半部繼續(我希望這是有道理的)。

任何想法爲什麼我的旋轉不能順利旋轉整個360度?

編輯

我還沒有解決這個問題,但我確實只是發現一些奇怪了。該動畫用於加載屏幕上,並且在動畫的時刻沒有額外的功能。我注意到,當我將手指放在屏幕上時,動畫會順利發生!

這讓我思考這個問題也許不是動畫代碼,但別的東西..但我還不知道..

回答

4

我終於找到了答案!

我已經包含行:

loading.setDrawingCacheEnabled(true); 

而在這之後不得不改變支點來0.5F過。現在動畫運行順利!

//Rotate image 
ImageView loading = FindViewById<ImageView>(Resource.Id.loadingGif); 
loading.setDrawingCacheEnabled(true); 
rAnim = new RotateAnimation(0.0F, 359.0F, Dimension.RelativeToSelf, 0.5F, Dimension.RelativeToSelf, 0.5F); 
rAnim.Interpolator = new LinearInterpolator(); 
rAnim.RepeatCount = Animation.Infinite; 
rAnim.Duration = 1500; 
loading.StartAnimation(rAnim); 
+0

這就是我一直在尋找的偉大! – rahstame