学了这么长时间的编程,但是一直懒得写博客,写总结,看到很多大神都喜欢总结!所以在此也模仿大神们,写写博客,总结总结自己所学的知识,以备查询!
Android中的动画应用也比较广泛,能够应用动画实现各种特效,在这里主要对补间动画和帧动画做一个小小的总结。
一、补间动画(英文名:Tween)
1、主要包括平移动画(TranslateAnimation)、缩放动画(ScaleAnimation)、透明度变化的动画(AlphaAnimation)、旋转动画(RotateAnimation),括号里的英文名为Android中封装的动画类,都是Animation的子类。在实际应用中,设置动画效果,以上几种动画可以单独使用,也可以联合起来使用。
2、使用示例(通过xml文件设置动画):
1)在xml文件中:添加一个ImageView作为设置效果的图片
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/ic_launcher"
android:id="@+id/iv"/>
</RelativeLayout>
2)在res文件夹下新建一个固定名字的文件夹anim,在文件夹中新建一个xml文件可以有如下五中选择:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="100"
android:toYDelta="100"
android:duration="5000"
android:repeatCount="5"/>
<alpha
android:duration="5000"
android:fromAlpha="0.1"
android:repeatCount="5"
android:toAlpha="1.0" />
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:duration="5000"
android:repeatCount="5"/>
</set>
3)在Java代码中:首先获取ImageView,
<span style="white-space:pre"> </span>protected void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre"> </span>super.onCreate(savedInstanceState);
<span style="white-space:pre"> </span>setContentView(R.layout.activity_main);
<span style="white-space:pre"> </span> <span style="white-space:pre"> </span>iv = (ImageView) findViewById(R.id.iv);
<span style="white-space:pre"> </span>animation = AnimationUtils.loadAnimation(this, R.anim.mset);
<span style="white-space:pre"> </span>iv.setAnimation(animation);
<span style="white-space:pre"> </span>}
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
// ta.start();
// sa.start();
// aa.start();
// ra.start();
animation.start();
}
4)以上第2)步也可以不通过xml文件布局动画也可以通过代码来创建动画,代码如下:
<span style="white-space:pre"> </span>protected void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre"> </span>super.onCreate(savedInstanceState);
<span style="white-space:pre"> </span>setContentView(R.layout.activity_main);
<span style="white-space:pre"> </span>iv = (ImageView) findViewById(R.id.iv);
<span style="white-space:pre"> </span> <span style="white-space:pre"> </span>ta=new TranslateAnimation(0, 300, 0, 500);
<span style="white-space:pre"> </span>ta.setDuration(5000);
<span style="white-space:pre"> </span>ta.setRepeatCount(4);
<span style="white-space:pre"> </span>iv.setAnimation(ta);
<span style="white-space:pre"> </span> }
protected void onResume() {
super.onResume();
ta.start();
}