2012-09-06 34 views
5

Kendi merkezim etrafında dönmeyi istediğim bir Görüntü (yuvarlak yükleme çemberine benzeyen) var. PivotY'yi ayarlamayı öneren çok fazla kod gördüm ve PivotX 0,5F veya resmin yarısı. Her iki denemede bir sürü sonra .. çalışmak ve aşağıdaki kodu ile kendi merkezi etrafında döndürmek yok hata değildir:Resmi döndürmüyor pürüzsüz gitmiyor (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); 

Ama animasyon kendisi artık pürüzsüz gitmiyor, görüntü daha sonra 50degrees hakkında döndürmek gibi görünüyor dönmeye başlar ve rotasyonun yarısını atlar ve daha sonra rotasyonun üst yarısında normal olarak devam eder (umarım bu herhangi bir anlam ifade eder).

Rotasyonumun neden tam 360 derece dönmediği konusunda bir fikrin var mı?

DÜZENLEME

hala bu sorunu çözmüş değil, ama sadece did bu konuda tuhaf şeyler keşfetmek. Animasyon, bir yükleme ekranında, animasyon anında fazladan işlevsellik olmadan kullanılır. Parmağımı ekranda tuttuğumda animasyonun sorunsuz gerçekleştiğini fark ettim!

Bu

cevap

4

Sonunda cevabı buldum .. ben sorunu belki animasyon kodunun ama başka bir şey olmadığını düşünerek .. ama henüz bilmiyorum var!

çizgiyi yer verdik:

loading.setDrawingCacheEnabled(true); 

Ve bundan sonra da 0.5F için pivotlar değiştirmek zorunda kaldı. Ve şimdi animasyon sorunsuz çalışıyor!

//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

Bu, harika bir şey aradığım şey! – rahstame