Android 动画(一)基本的补间动画实现原地旋转
程序员文章站
2022-03-25 14:55:19
...
需要做一个等待的图片就是一个小圆环一直在旋转的那种的,好久没用动画突然一下忘了。。。
随手把这个中介一哈,这篇只是说补间动画,而且是非常基础的使用,其他的有时间再写了。
先说一下基础的知识点:
Android 的三种动画:
View Animation (Tween Animation 补间动画)
Drawable Animation (Frame Animation 帧动画)
Property Animation (属性动画)
下面就开始实现一个围绕中心旋转的图片。
先在布局文件里面添加一个ImageView (懒得找图片就用纯蓝色的图片代替了)。
<?xml version="1.0" encoding="utf-8"?>
<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.autophix.dnt.hongyangzzzj.MainActivity">
<ImageView
android:id="@+id/iv"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:src="#91bef0"/>
</RelativeLayout>
这个没啥好说的。。。
下面是再res下新建anim文件夹 新建tip.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>
这里面需要讲解一下,fromDegress toDegress 代表从 0到359度 开始旋转(若设置成360在停止时会出现停顿现象)。
duration 旋转所用时间为500ms 就是0.5s
旋转中心距离View的左边缘为50%距离,距离View的上边缘为50%距离,即正中心。
repeatCount 代表重复次数 -1 就是无限重复
MainActivity代码:
ImageView iv = (ImageView) findViewById(R.id.iv);
Animation a = AnimationUtils.loadAnimation(this , R.anim.tip);
LinearInterpolator lin = new LinearInterpolator();
a.setInterpolator(lin);
if (a != null){
iv.startAnimation(a);
}
OK,然后运行一哈,就会看到了。以后有时间了再接着总结其他的两种动画和把这种动画加深理解。上一篇: 补间动画
下一篇: 记一次失败的导师霸面