RotateAniamtion_实现Android简单动画旋转案例
16lz
2021-01-23
利用android实现了简单旋转动画,效果如下,从左到右,3个状态,最终图片旋转180度:
2012-6-18 11:18 上传下载附件(19.54 KB)
2012-6-18 11:19 上传下载附件(16.33 KB)
旋转动画利用的是RotateAnimation实现的。布局文件main.xml代码:
?
android:onClick="showAnimation" 代码作用是在点击ImageView的时候,调用MainActivity中的showAnimation方法,showAnimation方法如下:
?
解释一下:
?
第一个参数表示动画的起始角度,第二个参数表示动画的结束角度,第三个表示动画的旋转中心x轴,第四个表示动画旋转中心y轴。
?
表动画持续20s。
?
ture表示动画结束后停留在动画的最后位置,false表示动画结束后回到初始位置,默认为false。
?
2012-6-18 11:18 上传下载附件(19.54 KB)
2012-6-18 11:19 上传下载附件(16.33 KB)
旋转动画利用的是RotateAnimation实现的。布局文件main.xml代码:
?
0102030405060708091011 | <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方法如下:
?
01020304050607080910 | 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); |
更多相关文章
- Android动画之Interpolator
- 补间动画
- android 常用代码
- 常用的android权限配置和常用工具代码
- Android终于公布源代码
- Android常用代码
- android 蓝牙打印程序源代码
- [Android]代码实现StateListDrawable
- Android仿计算器布局代码