Android面试-动画

 

 

一.Android中的动画有哪几类,它们的特点和区别是什么?

根据谷歌官方文档,动画分为3种:

1.帧动画/图像动画(Drawable Animation)

  • 1.xml方式->配置一组图片,动态播放

2.补间动画(View Animation)

  • 1.位移动画
  • 2.缩放动画
  • 3.旋转动画
  • 4.透明动画
  • 5.集合

3.属性动画(Property Animation)-是3.0之后才有的

  • 拥有补间动画所有的功能

属性动画和补间动画的区别:

  • 补间动画: 
    • 父容器不断的绘制view,看起来像移动了效果,其实view没有变化,还在原地
  • 属性动画: 
    • 是通过不断改变自己view的属性值,真正的改变view.
  • 两者的代码写法如下:
//补间动画
public void clickViewAnimation(View view) {
    //位移动画,x方向不变,y有0->250
    TranslateAnimation animation = new TranslateAnimation(0, 0, 0, 250);
    //时长
    animation.setDuration(2000);
    //停在结果位置
    animation.setFillAfter(true);
    //控件开始动画,传入动画
    iv.startAnimation(animation);
}
//属性动画
public void clickViewProperty(View view) {
    //动画对象:控件以及动画的类型都写在里面,然后是一组"不尽"的数组:比如Y方向的0->250又上又下
    ObjectAnimator animator = ObjectAnimator.ofFloat(iv, "translationY", 0,
            250, 100, 200, 250);
    //时长
    animator.setDuration(5000);
    //对象开始
    animator.start();
}
//测试他两的区别
public void clickIv(View view) {
    Toast.makeText(this, "点击了图片", Toast.LENGTH_SHORT).show();
}

动画插入器是什么?

  • 是各种效果实现所要用到的,比如加速,比如来回摆动等等
  • 用法是:(一句代码)直接在动画开始前设置即可:
animation.setInterpolator(new XXXInterpolator())

你可能感兴趣的:(面试)