第一步:写xml
在layout布局文件中建一个xml
<ImageView
android:id="@+id/iv_img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a1"
/>
在资源文件中建一个anim文件夹来放这些xml(如:alpha.xml)
第一种:alphaAnimation(透明度渐变动画)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromAlpha="1.0" //从哪个透明度开始
android:toAlpha="0.3" //到哪个透明度结束
android:duration="2000" //执行时间
android:fillAfter="true" //保持执行之后的状态
android:fillBefore="true" //保持执行之前的状态
android:repeatCount="3" //重复次数
android:repeatMode="reverse" //重复模式
-->
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.3"
android:duration="2000"
android:fillEnabled="true"
android:fillAfter="true"
android:fillBefore="true"
>
</alpha>
第二种:rotateAnimation(旋转动画)
(如:rotate.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromDegrees="0" //从几度开始旋转
android:toDegrees="-200" //旋转多少度
android:pivotX="50%" //以自己为中心
android:pivotY="50%"
android:duration="5000" //执行时间
-->
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="-200"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000"
>
</rotate>
第三种:scaleAnimation(缩放动画)
(如:scale.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromXScale="1.0" //从x轴开始缩放的倍数
android:toXScale="2.0" //到x轴结束的倍数
android:fromYScale="1.0" //从y轴开始缩放的倍数
android:toYScale="2.0" //到y轴结束的倍数
android:duration="5000" //执行的时间
android:pivotX="50%" //以图片自己为中心缩放
android:pivotY="50%"
-->
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1.0"
android:toXScale="2.0"
android:fromYScale="1.0"
android:toYScale="2.0"
android:duration="5000"
android:pivotX="50%"
android:pivotY="50%"
>
</scale>
第四种:translateAnimation(移动动画)
(如:translate.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromXDelta="0" //从x轴点的坐标开始
android:toXDelta="200" //到x轴点的坐标结束
android:fromYDelta="0" //从y轴点的坐标开始
android:toYDelta="200" //从y轴点的坐标结束
android:duration="5000" //执行时间
-->
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="200"
android:fromYDelta="0"
android:toYDelta="200"
android:duration="5000"
>
</translate>
第五种:setAnimation(set集合动画)
(如:set.xml)
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:fromDegrees="0"
android:toDegrees="180000"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000"
>
</rotate>
<translate
android:fromXDelta="0"
android:toXDelta="200"
android:fromYDelta="0"
android:toYDelta="200"
android:duration="5000"
>
</translate>
</set>
第二步:在Activity中调用
//按钮的点击事件
public void click(View view){
//透明动画
Animation alphaanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
//缩放动画
Animation scaleanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
//移动动画
Animation translateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
//旋转动画
Animation rotateateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
//set动画集合
Animation setateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.set);
//执行动画
im_img.setAnimation(setateanimation);
}
frame贞动画
第一步:在drawable资源文件中建一个xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:drawable="@drawable/a1" android:duration="2000" />
<item android:drawable="@drawable/a2" android:duration="2000" />
<item android:drawable="@drawable/a3" android:duration="2000" />
<item android:drawable="@drawable/a4" android:duration="2000" />
<item android:drawable="@drawable/a5" android:duration="2000" />
<item android:drawable="@drawable/a6" android:duration="2000" />
<item android:drawable="@drawable/a7" android:duration="2000" />
<item android:drawable="@drawable/a8" android:duration="2000" />
<item android:drawable="@drawable/a9" android:duration="2000" />
</animation-list>
第二步:在layout布局文件中写
<ImageView
android:id="@+id/im_img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/frame"
/>
第三步:在Activity中调用
AnimationDrawable drawable=(AnimationDrawable) im_img2.getBackground();
//开始动画
drawable.start();
//结束动画
drawable.stop();
在layout布局文件中建一个xml
<ImageView
android:id="@+id/iv_img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a1"
/>
在资源文件中建一个anim文件夹来放这些xml(如:alpha.xml)
第一种:alphaAnimation(透明度渐变动画)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromAlpha="1.0" //从哪个透明度开始
android:toAlpha="0.3" //到哪个透明度结束
android:duration="2000" //执行时间
android:fillAfter="true" //保持执行之后的状态
android:fillBefore="true" //保持执行之前的状态
android:repeatCount="3" //重复次数
android:repeatMode="reverse" //重复模式
-->
<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.3"
android:duration="2000"
android:fillEnabled="true"
android:fillAfter="true"
android:fillBefore="true"
>
</alpha>
第二种:rotateAnimation(旋转动画)
(如:rotate.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromDegrees="0" //从几度开始旋转
android:toDegrees="-200" //旋转多少度
android:pivotX="50%" //以自己为中心
android:pivotY="50%"
android:duration="5000" //执行时间
-->
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="-200"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000"
>
</rotate>
第三种:scaleAnimation(缩放动画)
(如:scale.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromXScale="1.0" //从x轴开始缩放的倍数
android:toXScale="2.0" //到x轴结束的倍数
android:fromYScale="1.0" //从y轴开始缩放的倍数
android:toYScale="2.0" //到y轴结束的倍数
android:duration="5000" //执行的时间
android:pivotX="50%" //以图片自己为中心缩放
android:pivotY="50%"
-->
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1.0"
android:toXScale="2.0"
android:fromYScale="1.0"
android:toYScale="2.0"
android:duration="5000"
android:pivotX="50%"
android:pivotY="50%"
>
</scale>
第四种:translateAnimation(移动动画)
(如:translate.xml)
<?xml version="1.0" encoding="utf-8"?>
<!--
android:fromXDelta="0" //从x轴点的坐标开始
android:toXDelta="200" //到x轴点的坐标结束
android:fromYDelta="0" //从y轴点的坐标开始
android:toYDelta="200" //从y轴点的坐标结束
android:duration="5000" //执行时间
-->
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="200"
android:fromYDelta="0"
android:toYDelta="200"
android:duration="5000"
>
</translate>
第五种:setAnimation(set集合动画)
(如:set.xml)
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:fromDegrees="0"
android:toDegrees="180000"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000"
>
</rotate>
<translate
android:fromXDelta="0"
android:toXDelta="200"
android:fromYDelta="0"
android:toYDelta="200"
android:duration="5000"
>
</translate>
</set>
第二步:在Activity中调用
//按钮的点击事件
public void click(View view){
//透明动画
Animation alphaanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
//缩放动画
Animation scaleanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
//移动动画
Animation translateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
//旋转动画
Animation rotateateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
//set动画集合
Animation setateanimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.set);
//执行动画
im_img.setAnimation(setateanimation);
}
frame贞动画
第一步:在drawable资源文件中建一个xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item android:drawable="@drawable/a1" android:duration="2000" />
<item android:drawable="@drawable/a2" android:duration="2000" />
<item android:drawable="@drawable/a3" android:duration="2000" />
<item android:drawable="@drawable/a4" android:duration="2000" />
<item android:drawable="@drawable/a5" android:duration="2000" />
<item android:drawable="@drawable/a6" android:duration="2000" />
<item android:drawable="@drawable/a7" android:duration="2000" />
<item android:drawable="@drawable/a8" android:duration="2000" />
<item android:drawable="@drawable/a9" android:duration="2000" />
</animation-list>
第二步:在layout布局文件中写
<ImageView
android:id="@+id/im_img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/frame"
/>
第三步:在Activity中调用
AnimationDrawable drawable=(AnimationDrawable) im_img2.getBackground();
//开始动画
drawable.start();
//结束动画
drawable.stop();