利用android实现了简单旋转动画,效果如下,从左到右,3个状态,最终图片旋转180度:
旋转动画利用的是RotateAnimation实现的。布局文件main.xml代码:
android:onClick="showAnimation" 代码作用是在点击ImageView的时候,调用MainActivity中的showAnimation方法,showAnimation方法如下:
解释一下:
第一个参数表示动画的起始角度,第二个参数表示动画的结束角度,第三个表示动画的旋转中心x轴,第四个表示动画旋转中心y轴。
表动画持续20s。
ture表示动画结束后停留在动画的最后位置,false表示动画结束后回到初始位置,默认为false。


旋转动画利用的是RotateAnimation实现的。布局文件main.xml代码:
01
02
03
04
05
06
07
08
09
10
11
|
<linearlayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:id=
"@+id/mContener"
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
>
<imageview android:id=
"@+id/picture_tiankong"
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
android:src=
"@drawable/tiankong"
android:onClick=
"showAnimation"
/>
|
android:onClick="showAnimation" 代码作用是在点击ImageView的时候,调用MainActivity中的showAnimation方法,showAnimation方法如下:
01
02
03
04
05
06
07
08
09
10
|
public
void
showAnimation(View view) {
Log.v(TAG,
"showContent>>>"
);
final
float
centerX = mView.getWidth() /
2
.0f;
final
float
centerY = mView.getHeight() /
2
.0f;
RotateAnimation rotateAnimation =
new
RotateAnimation(
0
,
180
, centerX,
centerY);
rotateAnimation.setDuration(
1000
*
20
);
rotateAnimation.setFillAfter(
true
);
mView.startAnimation(rotateAnimation);
}
|
解释一下:
01
|
new
RotateAnimation(
0
,
180
, centerX,centerY);
|
第一个参数表示动画的起始角度,第二个参数表示动画的结束角度,第三个表示动画的旋转中心x轴,第四个表示动画旋转中心y轴。
01
|
rotateAnimation.setDuration(
1000
*
20
);
|
表动画持续20s。
01
|
rotateAnimation.setFillAfter(
true
);
|
ture表示动画结束后停留在动画的最后位置,false表示动画结束后回到初始位置,默认为false。
01
|
mView.startAnimation(rotateAnimation);
|


