Android之动画Animation的使用
16lz
2021-01-23
Android动画主要分为两种:帧动画和补间动画
一、帧动画:就像放映电影一样;
使用步骤:
1,在res中创建文件夹drawable
2,在此文件夹下面创建文件(例如:frame_animation_useing.xml)
创建时选取标签
frame_animation_useing.xml:
android:oneshot="false"android:variablePadding="false"android:visible="true" ><!--visible boolean型,是否显现variablePadding boolean型,默认为false,当设置为true时,则drawable的padding值随当前选择的状态而改变。oneshot 帧动画的自动执行,如果为true,表示动画只执行一次停止在最后一帧上;若为false表示动画循环播放 --><item android:drawable="@drawable/a" android:duration="100" /><item android:drawable="@drawable/b" android:duration="100"/><item android:drawable="@drawable/c" android:duration="100"/><item android:drawable="@drawable/d" android:duration="100"/><item android:drawable="@drawable/e" android:duration="100"/><item android:drawable="@drawable/f" android:duration="100"/>
二、补间动画:
补间动画又分为四大类:
移动补间动画,
缩放补间动画,
旋转补间动画,
透明补间动画。
使用步骤:
1,在res中创建anim文件夹
2,在此文件夹下创建(如:tween_alpha_useing)
详细介绍:
<!-- android:oneshot 帧动画的自动执行,为true时,动画只执行一次停在最后一帧上;为false时循环执行 --><!-- shareInterpolator 所有的Animation共用一个Interpolator --><!-- android:repeatCount 重复次数 0,1.。。infinite--><!-- 补间动画 --><!-- 透明度控制动画效果 alpha 浮点型值: fromAlpha 属性为动画起始时透明度 toAlpha 属性为动画结束时透明度(0.0表示完全透明,1.0表示完全不透明) 以上值取0.10-1.0之间的float数据类型的数字 长整型值: duration 属性为动画持续时间(时间以毫秒为单位) android:fillBefore 指动画结束时画面停留在此动画的第一帧; 默认值为true android:fillAfter 指动画结束是画面停留在此动画的最后一帧。默认值为false android:fillEnabled 1,FillEnable = false 时,FillBefore 和FillAfter的值将被忽略,此时FillEnable=Flase时和FillBefore = true且FillAfter=true, 且FillEnabled=true等价,也就是开始结束都会被fill坑爹。。。,一般写成false 2,FillEnable = true时,FillBefore = true,FillAfter = false;只在第一帧fill 3,FillEnable = true时,FillBefore = false,FillAfter=true;只在最后一帧fill 4,FillEnable = true时,FillBefore = false,FillAfter=false startOffset 设置启动时间--><alpha android:duration="3000" android:fromAlpha="0.1" android:toAlpha="1.0" android:fillBefore="true" android:fillAfter="true" android:fillEnabled="true"/><!-- 尺寸伸缩动画效果 scale interpolator 指定一个动画的插入器 accelerate_decelerate_interpolator 加速-减速 动画插入器 accelerate_interpolator 加速-动画插入器 decelerate_interpolator 减速- 动画插入器 其他的属于特定的动画效果 fromXScale 属性为动画起始时 X坐标上的伸缩尺寸 toXScale 属性为动画结束时 X坐标上的伸缩尺寸 fromYScale 属性为动画起始时Y坐标上的伸缩尺寸 toYScale 属性为动画结束时Y坐标上的伸缩尺寸 浮点值:0.0表示收缩到没有 ; 1.0表示正常无伸缩 ; 值小于1.0表示收缩 ; 值大于1.0表示放大 pivotX 属性为动画相对于物件的X坐标的开始位置 pivotY 属性为动画相对于物件的Y坐标的开始位置 值:以上两个属性值 从0%-100%中取值 ; 50%为物件的X或Y方向坐标上的中点位置 duration 属性为动画持续时间(同上) fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用--><scale android:duration="3000" android:fillAfter="true" android:fromXScale="0.0" android:fromYScale="0.0" android:interpolator="@android:anim/decelerate_interpolator" android:pivotX="20%" android:pivotY="30%" android:toXScale="0.8" android:toYScale="0.6" /><!-- 位置转移动画效果 translate fromXDelta 属性为动画起始时 X坐标上的位置 toXDelta 属性为动画结束时 X坐标上的位置 fromYDelta 属性为动画起始时 Y坐标上的位置 toYDelta 属性为动画结束时 Y坐标上的位置 注意: 没有指定fromXType toXType fromYType toYType 时候, 默认是以自己为相对参照物 duration 属性为动画持续时间(时间以毫秒为单位)--><translate android:fromXScale="0.0" android:fromYScale="0.0" android:toXScale="0.8" android:toYScale="0.6" android:duration="3000"/><!-- 旋转动画效果 rotate interpolator 指定一个动画的插入器 有三种动画插入器: accelerate_decelerate_interpolator 加速-减速 动画插入器 accelerate_interpolator 加速-动画插入器 decelerate_interpolator 减速- 动画插入器 其他的属于特定的动画效果 fromDegrees 属性为动画起始时物件的角度 toDegrees 属性为动画结束时物件旋转的角度 可以大于360度 浮点数: 当角度为负数——表示逆时针旋转 当角度为正数——表示顺时针旋转 (负数from——to正数:顺时针旋转) (负数from——to负数:逆时针旋转) (正数from——to正数:顺时针旋转) (正数from——to负数:逆时针旋转) pivotX 属性为动画相对于物件的X坐标的开始位置 pivotY 属性为动画相对于物件的Y坐标的开始位置 值:以上两个属性值 从0%-100%中取值 ; 50%为物件的X或Y方向坐标上的中点位置 duration 属性为动画持续时间(时间以毫秒为单位) --> <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0.0" android:toDegrees="120" android:pivotX="20%" android:pivotY="30%" android:duration="3000" />
代码下载地址:https://git.oschina.net/22889/Android_Animation.git
更多相关文章
- Android 众多的布局属性详解
- android:属性 layout_alignParentRight android:paddingRight
- android 组件属性描述
- Android Studio--EditText属性
- Android自定义视图一:扩展现有的视图,添加新的XML属性
- 控件的android:layout_alignParentTop属性找不到的原因
- Android布局中的常用属性小结
- AndroidRelativeLayout属性大全