android 动画 translate,Android动画之TranslateAnimation使用

Drawable Animation 帧动画(Frame动画),一帧帧地显示资源文件中的Drawable

Property Animation 属性动画,在android3.0以上的系统才有。这动画可以设置给任何的Object,包括那些还没有渲染到屏幕的view.

为什么要引入属性动画?

补间动画只能够作用在View上的

补间动画只能够实现移动、缩放、旋转和淡入淡出这四种动画操作,不能改变View的背景等

补间动画只是改变了View的显示效果而已,而不会真正去改变View的属性

View Animation 补间动画

视图动画也叫补间动画,指在一个视图容器中执行一些变换。包含有:位置、大小、旋转、透明 补间动画。

一般通过xml实现,不建议是用android代码实现,因为代码实现的可读性比较差。

补间动画的相关类

AlphaAnimation 放在res/anim/目录下 透明渐变动画效果

RotateAnimation 放在res/anim/目录下 旋转转移动画效果

ScaleAnimation 放在res/anim/目录下 缩放动画效果

TranslateAnimation 放在res/anim/目录下 移动动画效果

AnimationSet 放在res/anim/目录下 持有动画的容器

补间动画之TranslateAnimation使用

实现TranslateAnimation有两种方式,一种是xml配置,一种是纯Java代码实现。

使用java代码实现

// 使用方式一 默认类型是Animation.ABSOLUTE

/**

* @param fromXDelta x 坐标的起始点值

* @param toXDelta x 坐标的终点值

* @param fromYDelta y 坐标的起始点值

* @param toYDelta y 坐标的终点值

*/

translateAnimation = new TranslateAnimation(0,500,0,500);

/**

* Constructor to use when building a TranslateAnimation from code

*

* @param fromXType 动画开始前的X坐标类型。取值范围为ABSOLUTE(绝对位置)、RELATIVE_TO_SELF(以自身宽或高为参考)、RELATIVE_TO_PARENT(以父控件宽或高为参考)。

* @param fromXValue 动画开始前的X坐标值。当对应的Type为ABSOLUTE时,表示绝对位置;否则表示相对位置,1.0表示100%

* @param toXType 结束后的x坐标类型(如fromXType一样)

* @param toXValue 结束后的x坐标值(如fromXType一样)

* @param fromYType 动画开始前的Y坐标类型(类型同fromXType)。

* @param fromYValue 动画开始前的Y坐标值(值同fromXValue)。

* @param toYType 动画结束后的Y坐标类型(类型同fromYType)。

* @param toYValue 动画结束后的Y坐标值(值同fromYValue)。

*/

// 使用方式 二 自定义各类型,如下是都为Animation.ABSOLUTE时的用法(同一类似效果)

// translateAnimation = new TranslateAnimation(Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 500, Animation.ABSOLUTE, 0, Animation.ABSOLUTE, 500);

// 使用方式 三 自定义各类型,如下类型为Animation.RELATIVE_TO_PARENT或Animation.RELATIVE_TO_SELF时,后面带的参数值范围就变了。

//translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 1.0f);

translateAnimation.setDuration(1000);

translateAnimation.setInterpolator(new LinearInterpolator());

使用xml实现

res/anim/anim_translate.xml

android:duration="1000">

android:fromXDelta="0"

android:fromYDelta="0"

android:toXDelta="500"

android:toYDelta="500" />

animation = AnimationUtils.loadAnimation(this, R.anim.anim_translate);

参考文章

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值