android中主要有两种动画模式,一种是tweened animation(渐变动画),包含了4种动画类型,alpha(透明度)、scale(尺寸缩放)、translate(位置变换)、rotate(图形旋转),第二种是frame by frame (帧动画),就是逐帧播放设置好的动画
我们看下第一种动画的实现
第一步,定义好动画的xml文件,在res/anim下新建myanim.xml
然后在activity_main.xml 新增加一个图片和按钮,按钮用来启动动画
最后,在MainActivity.java中添加代码
package com.ssln.animation; import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends ActionBarActivity { Animation myAnim; //动画 ImageView myImg; //图像 Button myBtn; //开始按钮 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //加载动画 myAnim=AnimationUtils.loadAnimation(this, R.anim.myanim); //查找图片 myImg=(ImageView)findViewById(R.id.myImageView); //查走按钮 myBtn=(Button)findViewById(R.id.butStart); myBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //启动动画 myImg.startAnimation(myAnim); } }); }}
显示效果如下,旋转中透明度增加,放大了图片并平移了位置