Android动画师无法正常工作

时间:2014-07-11 16:04:31

标签: android xamarin objectanimator

我试图做一个类似IPhone coverflow的动画师,但更简单一些。 现在我试图进行旋转,然后让图像全屏显示,但没有任何事情发生。

            ImageView i = (ImageView) FindViewById(args.Position);

            var disp = WindowManager.DefaultDisplay;
            var height = disp.Height;
            var width = disp.Width;


            ObjectAnimator anim = ObjectAnimator.OfInt(i, "rotationY", 0, 180);
            ObjectAnimator scaleX = ObjectAnimator.OfInt(i, "scaleX", width);
            ObjectAnimator scaleY = ObjectAnimator.OfInt(i, "scaleY", height);
            AnimatorSet set = new AnimatorSet();
            set.Play(anim).With(scaleX).With(scaleY);

代码有什么问题?为什么没有发生什么?

1 个答案:

答案 0 :(得分:9)

您需要在AnimatorSet上致电Start()以实际启动动画。

Play()方法实际上并没有播放动画 - 它指定了该组应该播放的动画并创建了一个AnimatorSet.Builder,可用于设置其他约束(例如您的With())。

其次,您的ObjectAnimators都在寻找整数属性,但rotationscale属性需要浮动。

您应该使用ObjectAnimator.OfFloat()代替。