android之动画实现(一)(四种基本补间动画)

android动画有补间动画也有属性动画,还有布局动画等。今天就先从简单的四种基本补间动画说起。
补间动画有:平移,缩放,旋转,透明。使用方式有两种:xml和java代码。

四种动画的共同属性说明:

android:fillAfter 表示动画结束后是否停留在最后一帧,即停在结束位置;
android:duration表示动画的持续时间;
android:interpolator表示动画的运行规律(插值器),比如先快后慢或者先慢后快等;
android:repeatCount 表示重复次数,默认值是0,代表重复1次;如果值是repeatCount=n代表重复 n+1次;值为-1或者infinite时,表示补间动画永不停止;
android:repeatMode 设置重复的模式,默认是restart,当repeatCount的值大于0或者为-1或infinite时才有效:
1.如果是:restart,表示每次执行完都会从头开始;
2.如果是:reverse,表示第一次从头开始,第二次反过来,第三次从头开始,第四次反过来,即偶数次是反着的;
3.举例说明,从位置A平移到B:
a.如果是restart,那么每次都是A-B,瞬间回到A然后又A-B,不断重复;
b.如果是reverse,那么第一次是A-B,第二次是B-A,第三次是A-B,第四次是B-A,这样循环下去,结果是就是来回移动了;

四种补间动画单独说明:

一.平移动画TranslateAnimation
1.XML实现方式(res/anim,没有此文件夹自己建立):

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:repeatCount="infinite"
    android:repeatMode="reverse"
    android:toXDelta="50%p"/>

使用:
Animation tran = AnimationUtils.loadAnimation(this,R.anim.translate);
translate.startAnimation(tran);

属性说明:
android:fromXDelta,平移的起点x方向坐标(android:toXDelta和Y方向的同理):
1.如果值是数值类型,即20或者25.0之类的,譬如50表示以当前View左上角坐标加50px为初始点;
2.如果值是百分比类型,即20%或者50%之类的,50%表示以当前View的左上角加上当前View宽高的50%做为初始点;
3.如果是父值的类型,即-100%p或者100%p之类的,50%p表示以当前View的左上角加上父控件宽高的50%做为初始点;

2.代码实现方式:

Animation tran1 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT,1,Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT,
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值