我有2张不同颜色的球图像。当我按下按钮时,我将图像按钮上的图像从image1(ball1)更改为image2(ball2)。我想要做的是显示这个图像的变化(即球体颜色随着动画的变化,旋转并改变颜色的效果。
问题:怎样才能获得旋转球image1的效果,使其成为球像2? 问题:我想播放一些声音以及此效果。怎么去呢?
编辑:基本上我想要的是:image1围绕(180度)旋转并成为image2。
答案 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,但我从未尝试过这个。