2

我试图做一个类似于 iPhone 封面流的动画师,但更简单一些。现在我试图进行旋转,然后让图像全屏显示,但没有任何反应。

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

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

4

1 回答 1

9

您需要调用Start()AnimatorSet的实际启动动画。

Play()方法实际上并不播放动画 - 它指定集合应该播放的动画并创建一个AnimatorSet.Builder可用于设置附加约束(例如您的With())的动画。

其次,您的 ObjectAnimator 都在寻找整数属性,但旋转缩放属性需要浮点数。

你应该ObjectAnimator.OfFloat()改用。

于 2014-07-11T16:08:16.033 回答