在中心旋转图像不会顺利(MonoDroid的)(Rotate image on center not

2019-09-22 04:53发布

我有,我想围绕它自身的中心旋转图像(它看起来像一个轮装载圆)..我看到了很多的代码,这表明在PivotY和PivotX设置为0.5F或图像的一半次。 这两个不工作..大量的试验后和错误它绕它自己的中心,用下面的代码:

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度?

编辑

我还没有解决这个问题,但我也只是发现一些奇怪了。 动画是用来加载屏幕上与动画的时刻没有多余的功能。 我注意到,当我把我的手指在屏幕上的动画无阻发生!

这让我思考这个问题也许不是动画代码,但别的东西..但我还不知道..

Answer 1:

我终于找到了答案!

我已经包含了一行:

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);


文章来源: Rotate image on center not going smooth (Monodroid)