android 旋转动画

1 在res下创建anim文件夹


<set xmlns:android="http://schemas.android.com/apk/res/android">
  <rotate
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1500"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="-1"
    android:toDegrees="359"
    android:visible="true">
  rotate>
set>


android:interpolator:这个属性是用来设置转动速率的。

LinearInterpolator为匀速效果,Accelerateinterpolator为加速效果、DecelerateInterpolator为减速效果,

android:repeatCount 重复的次数,默认为0,必须是int,可以为-1表示不停止

android:duration属性表示从android:fromDegrees转动到android:toDegrees所花费的时间,单位为毫秒。可以用来计算速度。

android:startOffset 在调用start函数之后等待开始运行的时间,单位为毫秒,若为10,表示10ms后开始运行

android:repeatMode 重复的模式,默认为restart,即重头开始重新运行,可以为reverse即从结束开始向前重新运行。

在android:repeatCount大于0或为infinite时生效

android:detachWallpaper 表示是否在壁纸上运行

android:zAdjustment 表示被animated的内容在运行时在z轴上的位置,默认为normal。normal保持内容当前的z轴顺序top运行时在最顶层显示bottom运行时在最底层显示

2 布局文件


<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.example.administrator.myapp.MainActivity">

  <ImageView
    android:id="@+id/img"
    android:layout_centerInParent="true"
    android:layout_width="100dp"
    android:src="@mipmap/ic_launcher"
    android:layout_height="100dp"/>

RelativeLayout>

3 代码

  Animation rotate = AnimationUtils.loadAnimation(this, R.anim.aaa);
    ((ImageView)findViewById(R.id.img)).setAnimation(rotate);
    ((ImageView)findViewById(R.id.img)).startAnimation(rotate);

你可能感兴趣的:(android 旋转动画)