我有 2 张不同颜色的球的图像。当我按下按钮时,我正在将 imagebutton 上的图像从 image1(ball1) 更改为 image2(ball2)。我想要做的是显示这个图像变化(即带有一点动画的球颜色变化,它旋转和改变颜色的效果。
问题:我怎样才能得到这种旋转球 image1 的效果,使它变成球 image2 ?问:我想在这个效果的同时播放一些声音。怎么办?
编辑:基本上我想要的是:image1 围绕(180 度)旋转并变成 image2。
为了旋转和隐藏图像,您需要使用补间动画框架: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 中的可绘制对象之一,但我从未尝试过。