动画【Android】

本文详细介绍了Android中的动画实现方式,包括View Animation和Drawable Animation。讲解了动画的分类,如缩放、透明度、旋转和平移,以及如何通过代码和XML配置创建动画。此外,还提到了AnimationSet用于组合多个单一动画,以及相关API的使用,如设置动画监听、动画的开始、结束和重复回调。最后,文章探讨了Interpolator如何改变动画效果,并给出了启动和停止动画的示例。
摘要由CSDN通过智能技术生成

一、关于动画

动画有下面两种情况

同一个图形通过视图在界面上进行透明度,缩放,旋转,平移的变化(View动画)

在界面的同一个位置上不断切换显示不同的图片(Drawable动画)

动画的分类

View Animation

Drawable Animation

Android中提供了两种实现动画的方式

纯编码的方式

Xml配置的方式

动画在应用中是非常常见的界面效果, 也是提高用户体验的一种好手段

二、动画的分类

单一动画(Animation)

缩放动画(ScaleAnimation)

透明度动画(AlphaAnimation)

旋转动画(RotateAnimation)

平移动画(TranslateAnimation)

复合动画(AnimationSet)

由多个单一动画组合在一起的动画

三、相关API

1.Animation的公用功能

setDuration(long durationMillis) : 设置持续时间(单位ms)
setStartOffset(long startOffset) : 设置开始的延迟的时间(单位ms)
setFillBefore(boolean fillBefore) : 设置最终是否固定在起始状态
setFillAfter(boolean fillAfter) : 设置最终是否固定在最后的状态
setAnimationListener(AnimationListener listener) : 设置动画监听


坐标类型:
Animation.ABSOLUTE   
Animation.RELATIVE_TO_SELF    
Animation.RELATIVE_TO_PARENT


启动动画 : view.startAnimation(animation);
结束动画: view.clearAnimation()


动画监听器 : AnimationListener
onAnimationStart(Animation animation) : 动画开始的回调
onAnimationEnd(Animation animation) : 动画结束的回调
onAnimationRepeat(Animation animation) : 动画重复执行

2.缩放动画(Code ScaleAnimation)

ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue);
fromX : 开始时X轴上的缩放比例   
toX : 结束时X轴上的缩放比例   
fromY :开始时Y轴上的缩放比例
toY :结束时Y轴上的缩放比例


pivotXType : X轴坐标的类型(计算x轴上的偏移量的方式)
pivotXVlaue : 中心点在X轴相对视图左顶点在x轴上的偏移量
pivotYType :  Y轴坐标的类型(计算x轴上的偏移量的方式)
pivotYValue : 中心点相对视图左顶点在y轴上的偏移量

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0"
    android:fromYScale="0"
    android:toXScale="1.5"
    android:toYScale="1" 
    android:startOffset="1000"
    android:duration="3000"
    android:pivotX="100%"
    android:pivotY="100%"
    android:fillAfter="true">

</scale>
<!-- 宽度从0.0到1.5, 高度从0.0到1.0, 延迟1s开始,持续3s,圆心为右下角, 最终固定 -->
3.旋转动画(RotateAnimation)

RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue);
fromDegrees : 开始时的角度
toDegrees : 结束时的角度


pivotXType : X轴坐标的类型
pivotXVlaue : X轴坐标的值
pivotYType :  Y轴坐标的类型
pivotYValue : Y轴坐标的值


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值