当前位置: 代码迷 >> Android >> android animation的使用实例
  详细解决方案

android animation的使用实例

热度:72   发布时间:2016-05-01 13:39:45.0
android animation的应用实例

?

?


[java]
?view plaincopy
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <set?xmlns:android="http://schemas.android.com/apk/res/android">??
  3. ??
  4. ????<!--???
  5. ????????Tween?Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效??
  6. ??????????
  7. ????????Alpha:渐变透明度动画效果??
  8. ????????Scale:渐变尺寸伸缩动画效果??
  9. ????????Translate:画面转换位置移动动画效果??
  10. ????????Rotate:画面旋转动画效果??
  11. ??????????
  12. ????????Tween?Animation?通用属性[类型]????功能????
  13. ????????????Duration[long]??属性为动画持续时间???时间以毫秒为单位??
  14. ????????????fillAfter?[boolean]?当设置为true?,该动画转化在动画结束后被应用??
  15. ????????????fillBefore[boolean]?当设置为true?,该动画转化在动画开始前被应用??
  16. ??????????????
  17. ????????????interpolator????指定一个动画的插入器??有一些常见的插入器??
  18. ????????????accelerate_decelerate_interpolator??
  19. ????????????加速-减速?动画插入器??
  20. ????????????accelerate_interpolator??
  21. ????????????加速-动画插入器??
  22. ????????????decelerate_interpolator??
  23. ????????????减速-?动画插入器??
  24. ????????????其他的属于特定的动画效果??
  25. ????????????repeatCount[int]????动画的重复次数???
  26. ????????????RepeatMode[int]?定义重复的行为?1:重新开始??2:plays?backward??
  27. ????????????startOffset[long]???动画之间的时间间隔,从上次动画停多少时间开始执行下个动画??
  28. ????????????zAdjustment[int]????定义动画的Z?Order的改变?0:保持Z?Order不变??
  29. ????????????1:保持在最上层??
  30. ????????????-1:保持在最下层??
  31. ??????
  32. ??????
  33. ?????-->??
  34. ????<!--??
  35. ????????透明控制动画???
  36. ?????-->??
  37. ????<alpha??
  38. ????????android:fromAlpha="0.1"???
  39. ????????android:toAlpha="1.0"??
  40. ????????android:duration="3000"??
  41. ????/>??
  42. ??????????
  43. ????<!--?尺寸伸缩动画效果?scale??
  44. ??????
  45. ??????
  46. ????????属性:interpolator?指定一个动画的插入器??
  47. ??
  48. ????????有三种动画插入器:??
  49. ?????????accelerate_decelerate_interpolator??加速-减速?动画插入器??
  50. ?????????accelerate_interpolator????????加速-动画插入器??
  51. ?????????decelerate_interpolator????????减速-?动画插入器??
  52. ??
  53. ????????其他的属于特定的动画效果??
  54. ??
  55. ????????????fromXScale?属性为动画起始时?X坐标上的伸缩尺寸??????
  56. ????????????toXScale???属性为动画结束时?X坐标上的伸缩尺寸???????
  57. ??
  58. ????????????fromYScale?属性为动画起始时Y坐标上的伸缩尺寸??????
  59. ????????????toYScale???属性为动画结束时Y坐标上的伸缩尺寸??????
  60. ??
  61. ????????????说明:??
  62. ?????????????????以上四种属性值??????
  63. ????????????????????0.0表示收缩到没有???
  64. ????????????????????1.0表示正常无伸缩???????
  65. ????????????????????值小于1.0表示收缩????
  66. ????????????????????值大于1.0表示放大??
  67. ??????????????????????
  68. ????????????pivotX?????属性为动画相对于物件的X坐标的开始位置??
  69. ????????????pivotY?????属性为动画相对于物件的Y坐标的开始位置??
  70. ????????????说明:??
  71. ????????????????????以上两个属性值?从0%-100%中取值??
  72. ????????????????????50%为物件的X或Y方向坐标上的中点位置??
  73. ????????长整型值:??
  74. ????????????duration??属性为动画持续时间??
  75. ????????????说明:???时间以毫秒为单位??
  76. ??
  77. ????????布尔型值:??
  78. ????????????fillAfter?属性?当设置为true?,该动画转化在动画结束后被应用??
  79. ????-->??
  80. ????<scale??
  81. ????????android:interpolator="@android:anim/accelerate_decelerate_interpolator"??
  82. ????????android:repeatCount="1"??
  83. ??????????
  84. ????????android:fromXScale="0.5"??
  85. ????????android:fromYScale="0.5"??
  86. ????????android:toXScale="1.4"????????
  87. ????????android:toYScale="1.4"??
  88. ????????android:pivotX="50%"??
  89. ????????android:pivotY="50%"??
  90. ????????android:fillAfter="false"??
  91. ????????android:duration="3000"??
  92. ??????????
  93. ????/>??
  94. ????<!--???
  95. ????????画面转换位置移动动画效果?translate??
  96. ??????
  97. ????????fromXDelta?toXDelta?为动画、结束起始时?X坐标上的位置?????
  98. ????????fromYDelta?toYDelta?为动画、结束起始时?Y坐标上的位置??
  99. ?????-->??
  100. ??????
  101. ????<translate??
  102. ????????android:repeatCount="2"??
  103. ????????android:fromXDelta="-30"??
  104. ????????android:fromYDelta="-30"??
  105. ????????android:toXDelta="-80"????????
  106. ????????android:toYDelta="200"??
  107. ????????android:duration="3000"??
  108. ????/>??
  109. ????<!--???
  110. ????????画面转移旋转动画效果?rotate??
  111. ??????????
  112. ????????fromDegrees?为动画起始时物件的角度?说明??
  113. ????????????当角度为负数——表示逆时针旋转??
  114. ????????????当角度为正数——表示顺时针旋转??
  115. ????????????(负数from——to正数:顺时针旋转)??
  116. ????????????(负数from——to负数:逆时针旋转)??
  117. ????????????(正数from——to正数:顺时针旋转)??
  118. ????????????(正数from——to负数:逆时针旋转)??
  119. ????????????toDegrees???属性为动画结束时物件旋转的角度?可以大于360度??
  120. ????????pivotX??
  121. ????????pivotY??为动画相对于物件的X、Y坐标的开始位??说明:以上两个属性值?从0%-100%中取值??
  122. ????????50%为物件的X或Y方向坐标上的中点位置??
  123. ?????-->??
  124. ????<rotate??
  125. ????????android:interpolator="@android:anim/accelerate_interpolator"??
  126. ????????android:repeatCount="2"??
  127. ????????android:fromDegrees="0"??
  128. ????????android:toDegrees="+270"??
  129. ????????android:pivotX="50%"??
  130. ????????android:pivotY="50%"??
  131. ????????android:duration="3000"??
  132. ????/>??
  133. ??
  134. </set>??

?

?

用法:

加入把此动画定义用到一个TextView上,那么需要做的工作很简单:

?

[java]?view plaincopy
  1. Animation?mAnimation?;??
  2. mAnimation?=?AnimationUtils.loadAnimation(this,?R.anim.anim);??
  3. TextView?text?=?(TextView)findViewById(R.id.textview00);??
  4. text.setAnimation(mAnimation);??

?

?

此处要注意一点:

要用AnimationDrawable 的start()方法来启动动画,不管动画是否完毕,想要第二次启动动画一定要先调用它的stop()方法才可以再次启动动画。

  相关解决方案