贴一个定义android animation的应用实例 收藏

此文件名为myanimation.xml 位于 res/anim文件夹下:

具体释义已在文件中解释。

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

view plain copy to clipboard print ?
  1. AnimationmAnimation;
  2. mAnimation=AnimationUtils.loadAnimation(this,R.anim.anim);
  3. TextViewtext=(TextView)findViewById(R.id.textview00);
  4. text.setAnimation(mAnimation);
Animation mAnimation ; mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim); TextView text = (TextView)findViewById(R.id.textview00); text.setAnimation(mAnimation);

此处要注意一点:

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

更多相关文章

  1. Animation(2、帧动画)
  2. android viewpage的施用
  3. Android三种属性动画的使用
  4. ProgressBar自定义样式中的层叠图片显示问题
  5. 2.2.1 LinearLayout(线性布局)
  6. Android(安卓)在Java代码中设置style属性--使用代码创建Progress
  7. 【java】【android】序列化Serializable和继承
  8. Android中的加载动画效果
  9. LinearLayout 线性布局属性

随机推荐

  1. android通过led实现手电筒
  2. Android(安卓)控制软键盘的显示与隐藏
  3. android ImageLoader加载本地图片的工具
  4. Android(安卓)memory leak detection
  5. Android基础之Android的Activity周期
  6. flutter 混合开发
  7. Android项目:proguard混淆第三方jar.
  8. Android支持的媒体格式
  9. Android(安卓)EventBus二三事
  10. Android(安卓)关于build.gradle的一些配