帧动画 和补间动画
内容帧动画:帧动画的资源文件,放在drawable文件夹下
1.创建项目
2.导入资源,将图片资源放入mipmap文件夹下
3.编写资源文件cat_giv.xml
。。。
4.在xml页面,添加ImagView并设置background
5.在java文件中获取imageview,并对其background进行动画设置
public class MainActivity extends AppCompatActivity {
private ImageView img_cat;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_cat=findViewById(R.id.img_cat);
ad = (AnimationDrawable) img_cat.getBackground();
}
}
6.开启动画
public class MainActivity extends AppCompatActivity {
private ImageView img_cat;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_cat=findViewById(R.id.img_cat);
ad = (AnimationDrawable) img_cat.getBackground();
ad.start();
}
}
补间动画
补间动画的资源文件,放在anim文件夹下
1.补间动画有几种 严格来说有四种,因为第五种是前边四种的综合使用
1.透明渐变动画
在anim文件夹中创建配置文件
在Java文件中设置动画
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
Animation alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_img);
iv_img.startAnimation(alpha);
break;
}
}
2.缩放渐变动画
在anim文件夹中创建配置文件
在Java文件中设置动画
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
Animation alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_img);
iv_img.startAnimation(alpha);
break;
case R.id.btn_scale:
Animation animation=AnimationUtils.loadAnimation(this,R.anim.alpha_scale);
iv_img.startAnimation(animation);
break;
}
}
3.位移渐变动画
在anim文件夹中创建配置文件
在Java文件中设置动画
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
Animation alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_img);
iv_img.startAnimation(alpha);
break;
case R.id.btn_scale:
Animation animation=AnimationUtils.loadAnimation(this,R.anim.alpha_scale);
iv_img.startAnimation(animation);
break;
case R.id.btn2:
Animation animation1=AnimationUtils.loadAnimation(this,R.anim.anlpha_translate);
iv_img.startAnimation(animation1);
break;
}
}
4.选装渐变动画
在anim文件夹中创建配置文件
在Java文件中设置动画
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
Animation alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_img);
iv_img.startAnimation(alpha);
break;
case R.id.btn_scale:
Animation animation=AnimationUtils.loadAnimation(this,R.anim.alpha_scale);
iv_img.startAnimation(animation);
break;
case R.id.btn2:
Animation animation1=AnimationUtils.loadAnimation(this,R.anim.anlpha_translate);
iv_img.startAnimation(animation1);
break;
case R.id.btn3:
Animation animation3=AnimationUtils.loadAnimation(this,R.anim.anim);
iv_img.startAnimation(animation3);
break;
case R.id.btn4:
Animation animation4=AnimationUtils.loadAnimation(this,R.anim.anim_set);
iv_img.startAnimation(animation4);
break;
}
}
5.综合渐变动画
在anim文件夹中创建配置文件
在Java文件中设置动画
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn1:
Animation alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_img);
iv_img.startAnimation(alpha);
break;
case R.id.btn_scale:
Animation animation=AnimationUtils.loadAnimation(this,R.anim.alpha_scale);
iv_img.startAnimation(animation);
break;
case R.id.btn2:
Animation animation1=AnimationUtils.loadAnimation(this,R.anim.anlpha_translate);
iv_img.startAnimation(animation1);
break;
case R.id.btn3:
Animation animation3=AnimationUtils.loadAnimation(this,R.anim.anim);
iv_img.startAnimation(animation3);
break;
case R.id.btn4:
Animation animation4=AnimationUtils.loadAnimation(this,R.anim.anim_set);
iv_img.startAnimation(animation4);
break;
case R.id.btn5:
Intent intent=new Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
overridePendingTransition(R.anim.anlpha_translate,R.anim.anlpha_translate1);
break;
}
}



