Android如何使用动画效果显示图像

时间:2013-03-11 18:23:22

标签: android animation

我有2张不同颜色的球图像。当我按下按钮时,我将图像按钮上的图像从image1(ball1)更改为image2(ball2)。我想要做的是显示这个图像的变化(即球体颜色随着动画的变化,旋转并改变颜色的效果。

问题:怎样才能获得旋转球image1的效果,使其成为球像2? 问题:我想播放一些声音以及此效果。怎么去呢?

编辑:基本上我想要的是:image1围绕(180度)旋转并成为image2。

1 个答案:

答案 0 :(得分:1)

为了旋转和隐藏图像,您需要使用补间动画框架:http://developer.android.com/guide/topics/resources/animation-resource.html#View。您需要构建将旋转并减少图像alpha的动画集。

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="true" >
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />
    <rotate
        android:fromDegrees="float"
        android:toDegrees="float"
        android:pivotX="float"
        android:pivotY="float" />
</set>

然后使用ImageView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.your_anim));

这将允许您淡化和旋转ImageView,同时在当前的下方显示另一个ImageView。

如果您想在单个ImageView中进行转换,则需要使用TransitionDrawable,这是一个将一个图像交叉淡入另一个图像的可绘制对象。不幸的是,它不允许你旋转内容,因此你需要修改它,这更难。

您可以使用RotateDrawable作为TransitionDrawable中的一个drawable,但我从未尝试过这个。