Android如何在网格视图的每个元素上应用翻转旋转动画?

时间:2012-01-13 06:34:07

标签: java android android-layout android-animation android-imageview

我有一个网格视图,我想在网格视图的每个子节点上应用翻转旋转动画。 当用户触摸网格视图元素时,它执行翻转旋转动画并更改图像。 并且我使用表格布局来创建图像网格

我想像Plz check once

那样表演

这在一个(布局)上执行。 但我想表演48个元素。 任何人的帮助.... 请尽快给出建议.. 提前谢谢....

3 个答案:

答案 0 :(得分:4)

我见过的最有说服力的3D翻转动画之一是https://code.google.com/p/android-3d-flip-view-transition

许多其他教程和示例代码不会产生可信的3D翻转。在y轴上的简单旋转不是在iOS中完成的。

此处还有一个视频:http://youtu.be/52mXHqX9f3Y

因此,要翻转每个网格元素,请简单调用:

ViewFlipper viewFlipper = getViewFlipperForItem(i);
AnimationFactory.flipTransition(viewFlipper, FlipDirection.LEFT_RIGHT);

getViewFlipperForItem是您在该单元格上获取ViewFlipper的方法。我建议您将每个单元格添加为ViewFlipper(或ViewAnimator),然后在ViewFlipper(或ViewAnimator)中添加要翻转的图像。如果您不清楚,请告诉我。

答案 1 :(得分:1)

谢谢以法莲,          我在我的项目中使用了视图鳍状肢,并使用了你提到的那个库。它看起来很棒,它帮助我。请任何想要像旋转一样为其视图设置动画的人都应该使用此库。

https://code.google.com/p/android-3d-flip-view-transition

答案 2 :(得分:1)

使用以下代码将翻转动画添加到android中的视图。

    final ObjectAnimator animation = ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 360f);
            animation.setDuration(3000);
            animation.setRepeatCount(ObjectAnimator.INFINITE);
            animation.setInterpolator(new AccelerateDecelerateInterpolator());
            animation.start();
            view.startAnimation(animation);