0

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

问题:我怎样才能得到这种旋转球 image1 的效果,使它变成球 image2 ?问:我想在这个效果的同时播放一些声音。怎么办?

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

4

1 回答 1

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。

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

您可以使用RotateDrawable作为 TransitionDrawable 中的可绘制对象之一,但我从未尝试过。

于 2013-03-11T18:33:34.793 回答