Android动画学习篇(一)【TweenAnimation】

动画基础篇学习之TweenAnimation

    基于上一篇我们简单的提到了ObjectAnimator动画,这一篇我们一起学习一下动画初级篇(视图动画/补间动画),视图动画使用比较简单,它提供了AlphaAnimation(透明动画),RotateAnimation(旋转动画),TranslateAnimation(位置动画),ScaleAnimation(尺寸动画)四种动画方式,并且提供了这些动画的组合类AnimationSet(动画集合),视图动画优点在于使用方便,效率高,且xml文件书写逻辑清晰,有优点必有瑕疵,缺点就是:不具备交互性,当某个布局中的View发生视图动画后,它的相应事件还是在动画原始位置,不会随之视图动画而改变,所以视图动画只能作为简单的动画效果,避免交互发生。


视图动画缺点演示GIF图

一、视图动画xml文件存放位置


二、使用技巧
    简要说明:AlphaAnimation,RotateAnimation,TranslateAnimation,ScaleAnimation都继承于android.view.animation.Animation故此Animation相应的方法,上面视图动画都有。
   2.1,透明动画:为视图增加透明度的变化动画
java实现◆:
   ★xml实现★:

 
   ▼java调用

是不是上手很容易,好下面我们看效果图

    (透明动画效果图

   2.2,旋转动画:为视图增加旋转的变化效果
   ◆java实现

     xml实现★:
      java调用:这里不说明了和上面一样


(旋转动画效果图)

学习到这里是不是感觉很轻松,下面我讲解一下动画经常用到的几个方法:
Java方法setFillAfter(boolean)   ◇设置为true,控件动画结束时将保持动画最后一帧(xml文件中,需要设置在set便签才生效)。        
Java方法:android:interpolator:插值器。设置动画速率的变化(譬如加速、减速、匀速等)
   ◇LinearInterpolator:动画以均匀的速度改变。
   ◇AccelerateInterpolator:动画开始的地方改变速度慢,然后开始加速。
   ◇AccelerateDecelerateInterpolator:动画开始的地方改变速度慢,中间时候加速。
   ◇CycleInterpolator:动画循环播放特定的次数,变化速度按正弦曲线改变。
   ◇DecelerateInterpolator:动画开始速度快,然后开始减速。
Java方法setRepeatCount(int):重复模式,有reverse(倒序)和restart(重复)两种,必须配合repeatCount一起使用。Java方法setRepeatMode(int):
◇“-1”为重复循环
Java方法:setStartOffset(long):
android:startOffset: 延迟一定毫秒之后才开始动画。

介绍了上述方法,下面继续讲解视图动画
     2.3,位移动画为视图移动时增加位移动画

     java实现


    xml实现★:


( 平移动画效果图 )
   2.4,尺寸动画为视图缩放时改变尺寸动画
java实现

    xml实现★:


(缩放动画效果图)
下面我以xml文件为例列举这几个视图动画的混合动画(Show Timer):

下面给大家一个表演的机会,大家学到这里一定也能做到上述我的效果;具体代码我就不附上,简单的思路我提一下:动画涉及到旋转,缩放,透明度这三个。相信你快动手实现,然后和我一起学习动画第二篇!加油!!
谢谢品读!
谢谢我的女王大人等我写完!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值