Android四种动画

Android基础动画

  • Tween Animation 变换动画
  • Frame Animation 帧动画
  • Layout Animation 布局动画
  • Property Animation 属性动画

Tween Animation 变换动画

  • Alpha:渐变透明度动画
  • Scale:渐变尺寸缩放动画
  • Translate:位置移动动画
  • Rotate :旋转动画

共同属性

  • Duration:动画持续时间
  • fillAfter:设置为true,动画转化在动画结束后被应用
    fillBefore:设置为true,动画转化在动画开始前被应用
  • interPolator:动画插入器(加速、减速插入器)
  • repeatMode:动画重复次数
  • repateMode:顺序重复/倒序重复
  • startOffset:动画之间的时间间隔

Animation实现方式

  • 配置文件(/res/anim)–alpha、scale、translate、rotate
  • Java代码实现—–AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation

Example(Java代码创建)

AlphaAnimation alpha=new AlphaAnimation(0.1f,1.0f);
//设置动画时间为5秒
alpha.setDuration(5000);
//开始播放
img.startAnimation(alpha);

Example(加载布局文件)

Animation scale=AnimationUtils.loadAnimation(MainActivity.this,R.anim.scale_anim);
//开始动画
img.startAnimation(scale);

AlphaAnimation (透明度动画)

  • fromAlpha:动画起始时透明度
  • toAlpha:动画终止时的透明度

0.0 表示完全透明
1.0 表示完全不透明

ScaleAnimation(缩放动画)

  • fromX,toY分别是起始和结束时X坐标上的伸缩尺寸
  • fromY,toY分别是起始和结束时Y坐标上的伸缩尺寸
  • pivotX,pivotY分别为伸缩动画相对于x,y坐标开始的位置

TranslateAnimation(位移动画)

  • fromXDelta,fromYDelta分别是起始时X,Y的坐标
  • toXDelta,toYDelta分别是X,Y的坐标

RotateAnimation(旋转动画)

  • fromDegress 起始的角度
  • toDegress 终止的角度
  • pivotX,pivotY分别为旋转动画相对于x,y的坐标开始位置

组合动画

  • 续播一 第一个动画A结束时监听AnimationListener ,在onAnimationEnd触发时开始动画B
  • 续播二 写一个动画集AnimationSet,在其中定义动画A和B,为动画B设置startOffset,其值就是前一个动画播放的时间

循环闪烁

  • 利用Animation的setRepeatCount、setRepeatMode来实现动画循环。
AlphaAnimation alpha=new AlphaAnimation(0.1f,1.0f);
alpha.setDuration(100);
alpha.setRepeatCount(10);
//倒序重复:REVERSE  正序重复RESTART
alpha.setRepeatMode(Animation.REVERSE);
img.startAnimation(alpha);

Activity切换动画:

  • 使用overridePendingTransition方法
  • 参数:第二个activity进入动画 、第一个activity退出时的动画

布局动画

  • LayoutAnimation
    为ViewGroup添加动画、使用LayoutAnimationController

LayoutAnimationController lay=new LayoutAnimationController();
lay.setOrder(LayoutAnimationController.ORDER_RANDOM);;
listview.setLayoutAnimation(lay);
listview.startLayoutAnimation();

FrameAnimation(逐帧动画)

使用animation_list标签来分组一个item的标签集合,定义要显示的图片。指定显示他的时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值