Android应用资源总结五:res下的anim和animator文件夹

本文介绍了Android应用中res下的anim和animator文件夹,主要包含tween animation和frame animation。anim文件夹用于存放scale、rotate、translate、alpha动画,而animator文件夹则用于存放属性动画property animation。详细阐述了XML定义的Animation类型,如alpha、rotate、scale和translate,并提供了相应的Java代码示例和动画参数解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

anim文件夹

anim文件夹下存放tween animation和frame animation;xml文件里只有scale、rotate、translate、alpha、set五个标签,
使用方法:
1. 加载动画:animation = AnimationUtils.loadAnimation(R.anim.xxx)
2. 设置动画:mView.setAnimation(animation)
3. 开启动画:mView.startAnimation()

animator文件夹

animator文件夹下存放property animation,即属性动画,xml文件里有animator、objectAnimator、set三个标签,
使用方法:
1. 加载动画:animation = AnimatorInflater.loadAnimator(R.animator.xxx)
2. 设置动画:animation.setTarget(mView)
3. 开启动画:animation .start()

XML定义Animation

简单总结下XML定义Animation,
Android的animation由四种类型组成:
XML中:
alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate 画面转换位置移动动画效果
rotate 画面转移旋转动画效果
对应JavaCode如下:
AlphaAnimation 渐变透明度动画效果
ScaleAnimation 渐变尺寸伸缩动画效果
TranslateAnimation 画面转换位置移动动画效果
RotateAnimation 画面转移旋转动画效果

alpha

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<alpha 
    android:fromAlpha="1.0"  
    android:toAlpha="0.0"  
    android:duration="500"  /> 
</set> 

fromAlpha:开始时透明度
toAlpha: 结束时透明度
duration:动画持续时间

roate

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate                                         
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:fromDegrees="300" 
    android:toDegrees="-360" 
    android:pivotX="10%" 
    android:pivotY="100%" 
    android:duration="10000" /> 
</set> 

fromDegrees 动画开始时的角度
toDegrees 动画结束时物件的旋转角度,正代表顺时针
pivotX,pivotY 表示以这个坐标为
中心进行旋转

scale

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<scale   
    android:interpolator= "@android:anim/decelerate_interpolator"       
    android:fromXScale="0.0"   
    android:toXScale="1.5"   
    android:fromYScale="0.0"   
    android:toYScale="1.5"   
    android:pivotX="50%"   
    android:pivotY="50%"   
    android:startOffset="0"   
    android:duration="10000"  
    android:repeatCount="1"   
    android:repeatMode="reverse"  /> 
</set> 

interpolator 加指定动画插入器,常见的有:
加速减速插入器 accelerate_decelerate_interpolator
加速插入器 accelerate_interpolator,
减速插入器 decelerate_interpolator。
fromXScale,fromYScale, 动画开始前X,Y的缩放,0.0为不显示, 1.0为正常大小
toXScale,toYScale, 动画最终缩放的倍数, 1.0为正常大小,大于1.0放大
pivotX, pivotY 以此点为中心进行缩放,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始
startOffset, 动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,单位毫秒
duration,一次动画效果消耗的时间,单位毫秒,值越小动画速度越快
repeatCount,动画重复的计数,动画将会执行该值+1次
repeatMode,动画重复的模式,reverse为反向,当第偶次
执行时,动画方向会相反。
restart为重新执行,方向不变

translate

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate 
    android:fromXDelta="320" 
    android:toXDelta="0" 
    android:fromYDelta="480" 
    android:toYDelta="0" 
    android:duration="10000" /> 
</set> 

fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
toXDelta, toYDelta 动画结束时X,Y的座标

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值