您的位置:首页 > 移动开发 > Android开发

android 旋转动画

2015-12-25 13:54 417 查看
1.java代码

int pivotType = Animation.RELATIVE_TO_SELF; // 相对于自己

float pivotX = .5f; // 取自身区域在X轴上的中心点

float pivotY = .5f; // 取自身区域在Y轴上的中心点

rotateAnimation = new RotateAnimation(firstFromRoate, lastdegreen,

pivotType, pivotX, pivotType, pivotY); // 围绕自身的中心点进行旋转

firstFromRoate=lastdegreen;

rotateAnimation.setDuration(1000);

rotateAnimation.setRepeatCount(0);

rotateAnimation.setFillAfter(true);

iv_zhizhen.startAnimation(rotateAnimation);

2.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate

android:fromDegrees="0"

android:toDegrees="359"

android:duration="500"

android:repeatCount="-1"

android:pivotX="50%"

android:pivotY="50%" />

</set>

含义表示从0到359度开始循环旋转,0-359(若设置成360在停止时会出现停顿现象)度旋转所用时间为500ms,旋转中心距离view的左顶点为50%距离,距离view的上边缘为50%距离,即正中心,具体每个含义见下面的具体属性介绍。

Animation operatingAnim = AnimationUtils.loadAnimation(this, R.anim.tip);

LinearInterpolator lin = new LinearInterpolator(); //匀速效果

operatingAnim.setInterpolator(lin);

setInterpolator表示设置旋转速率。LinearInterpolator为匀速效果,Accelerateinterpolator为加速效果、DecelerateInterpolator为减速效果,具体可见下面android:interpolator的介绍。

if (operatingAnim != null) {

infoOperatingIV.startAnimation(operatingAnim);

}

完成时

infoOperatingIV.clearAnimation();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: