?
?
- <?xml?version="1.0"?encoding="UTF-8"?>??
- <set?xmlns:android="http://schemas.android.com/apk/res/android">??
- ??
- ????<!--???
- ????????Tween?Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效??
- ??????????
- ????????Alpha:渐变透明度动画效果??
- ????????Scale:渐变尺寸伸缩动画效果??
- ????????Translate:画面转换位置移动动画效果??
- ????????Rotate:画面旋转动画效果??
- ??????????
- ????????Tween?Animation?通用属性[类型]????功能????
- ????????????Duration[long]??属性为动画持续时间???时间以毫秒为单位??
- ????????????fillAfter?[boolean]?当设置为true?,该动画转化在动画结束后被应用??
- ????????????fillBefore[boolean]?当设置为true?,该动画转化在动画开始前被应用??
- ??????????????
- ????????????interpolator????指定一个动画的插入器??有一些常见的插入器??
- ????????????accelerate_decelerate_interpolator??
- ????????????加速-减速?动画插入器??
- ????????????accelerate_interpolator??
- ????????????加速-动画插入器??
- ????????????decelerate_interpolator??
- ????????????减速-?动画插入器??
- ????????????其他的属于特定的动画效果??
- ????????????repeatCount[int]????动画的重复次数???
- ????????????RepeatMode[int]?定义重复的行为?1:重新开始??2:plays?backward??
- ????????????startOffset[long]???动画之间的时间间隔,从上次动画停多少时间开始执行下个动画??
- ????????????zAdjustment[int]????定义动画的Z?Order的改变?0:保持Z?Order不变??
- ????????????1:保持在最上层??
- ????????????-1:保持在最下层??
- ??????
- ??????
- ?????-->??
- ????<!--??
- ????????透明控制动画???
- ?????-->??
- ????<alpha??
- ????????android:fromAlpha="0.1"???
- ????????android:toAlpha="1.0"??
- ????????android:duration="3000"??
- ????/>??
- ??????????
- ????<!--?尺寸伸缩动画效果?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:interpolator="@android:anim/accelerate_decelerate_interpolator"??
- ????????android:repeatCount="1"??
- ??????????
- ????????android:fromXScale="0.5"??
- ????????android:fromYScale="0.5"??
- ????????android:toXScale="1.4"????????
- ????????android:toYScale="1.4"??
- ????????android:pivotX="50%"??
- ????????android:pivotY="50%"??
- ????????android:fillAfter="false"??
- ????????android:duration="3000"??
- ??????????
- ????/>??
- ????<!--???
- ????????画面转换位置移动动画效果?translate??
- ??????
- ????????fromXDelta?toXDelta?为动画、结束起始时?X坐标上的位置?????
- ????????fromYDelta?toYDelta?为动画、结束起始时?Y坐标上的位置??
- ?????-->??
- ??????
- ????<translate??
- ????????android:repeatCount="2"??
- ????????android:fromXDelta="-30"??
- ????????android:fromYDelta="-30"??
- ????????android:toXDelta="-80"????????
- ????????android:toYDelta="200"??
- ????????android:duration="3000"??
- ????/>??
- ????<!--???
- ????????画面转移旋转动画效果?rotate??
- ??????????
- ????????fromDegrees?为动画起始时物件的角度?说明??
- ????????????当角度为负数——表示逆时针旋转??
- ????????????当角度为正数——表示顺时针旋转??
- ????????????(负数from——to正数:顺时针旋转)??
- ????????????(负数from——to负数:逆时针旋转)??
- ????????????(正数from——to正数:顺时针旋转)??
- ????????????(正数from——to负数:逆时针旋转)??
- ????????????toDegrees???属性为动画结束时物件旋转的角度?可以大于360度??
- ????????pivotX??
- ????????pivotY??为动画相对于物件的X、Y坐标的开始位??说明:以上两个属性值?从0%-100%中取值??
- ????????50%为物件的X或Y方向坐标上的中点位置??
- ?????-->??
- ????<rotate??
- ????????android:interpolator="@android:anim/accelerate_interpolator"??
- ????????android:repeatCount="2"??
- ????????android:fromDegrees="0"??
- ????????android:toDegrees="+270"??
- ????????android:pivotX="50%"??
- ????????android:pivotY="50%"??
- ????????android:duration="3000"??
- ????/>??
- ??
- </set>??
?
?
用法:
加入把此动画定义用到一个TextView上,那么需要做的工作很简单:
?
- Animation?mAnimation?;??
- mAnimation?=?AnimationUtils.loadAnimation(this,?R.anim.anim);??
- TextView?text?=?(TextView)findViewById(R.id.textview00);??
- text.setAnimation(mAnimation);??
?
?
此处要注意一点:
要用AnimationDrawable 的start()方法来启动动画,不管动画是否完毕,想要第二次启动动画一定要先调用它的stop()方法才可以再次启动动画。