首页 > 其他分享 >android 动画xml属性总结

android 动画xml属性总结

时间:2022-12-09 18:02:32浏览次数:56  
标签:xml 动画 XML interpolator duration android 属性


XML中

 


alpha

渐变透明度动画效果

scale

渐变尺寸伸缩动画效果

translate

画面转换位置移动动画效果

rotate

画面转移旋转动画效果



JavaCode中 


AlphaAnimation

渐变透明度动画效果

ScaleAnimation

渐变尺寸伸缩动画效果

TranslateAnimation

画面转换位置移动动画效果

RotateAnimation

画面转移旋转动画效果


Android动画模式


Animation主要有两种动画模式:

一种是tweened animation(渐变动画) 


XML中

JavaCode

alpha

AlphaAnimation

scale

ScaleAnimation



一种是frame by frame(画面转换动画) 


XML中

JavaCode

translate

TranslateAnimation

rotate

RotateAnimation




如何在XML文件中定义动画


① 打开Eclipse,新建Android工程

② 在res目录中新建anim文件夹

③ 在anim目录中新建一个myanim.xml(注意文件名小写)

④ 加入XML的动画代码

1.  xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android">
3. <alpha/>
4. <scale/>
5. <translate/>
6. <rotate/>
7. </set></FONT></FONT>


Android动画解析--XML


<alpha>

1. <?xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android" >
3. <alpha
4. android:fromAlpha="0.1"
5. android:toAlpha="1.0"
6. android:duration="3000"
7. />
8. <!-- 透明度控制动画效果 alpha
9. 浮点型值:
10. fromAlpha 属性为动画起始时透明度
11. toAlpha 属性为动画结束时透明度
12. 说明:
13. 0.0表示完全透明
14. 1.0表示完全不透明
15. 以上值取0.0-1.0之间的float数据类型的数字
16.
17. 长整型值:
18. duration 属性为动画持续时间
19. 说明:
20. 时间以毫秒为单位
21. -->
22. </set>
23.

<scale>

1.  <?xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android">
3. <scale
4. android:interpolator=
5. "@android:anim/accelerate_decelerate_interpolator"
6. android:fromXScale="0.0"
7. android:toXScale="1.4"
8. android:fromYScale="0.0"
9. android:toYScale="1.4"
10. android:pivotX="50%"
11. android:pivotY="50%"
12. android:fillAfter="false"
13. android:duration="700" />
14. </set>
15. <!-- 尺寸伸缩动画效果 scale
16. 属性:interpolator 指定一个动画的插入器
17. 在我试验过程中,使用android.res.anim中的资源时候发现
18. 有三种动画插入器:
19. accelerate_decelerate_interpolator 加速-减速 动画插入器
20. accelerate_interpolator 加速-动画插入器
21. decelerate_interpolator 减速- 动画插入器
22. 其他的属于特定的动画效果
23. 浮点型值:
24.
25. fromXScale 属性为动画起始时 X坐标上的伸缩尺寸
26. toXScale 属性为动画结束时 X坐标上的伸缩尺寸
27.
28. fromYScale 属性为动画起始时Y坐标上的伸缩尺寸
29. toYScale 属性为动画结束时Y坐标上的伸缩尺寸
30.
31. 说明:
32. 以上四种属性值
33.
34. 0.0表示收缩到没有
35. 1.0表示正常无伸缩
36. 值小于1.0表示收缩
37. 值大于1.0表示放大
38.
39. pivotX 属性为动画相对于物件的X坐标的开始位置
40. pivotY 属性为动画相对于物件的Y坐标的开始位置
41.
42. 说明:
43. 以上两个属性值 从0%-100%中取值
44. 50%为物件的X或Y方向坐标上的中点位置
45.
46. 长整型值:
47. duration 属性为动画持续时间
48. 说明: 时间以毫秒为单位
49.
50. 布尔型值:
51. fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用
52. -->
53.


<translate> 
1. <?xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android">
3. <translate
4. android:fromXDelta="30"
5. android:toXDelta="-80"
6. android:fromYDelta="30"
7. android:toYDelta="300"
8. android:duration="2000"
9. />
10. <!-- translate 位置转移动画效果
11. 整型值:
12. fromXDelta 属性为动画起始时 X坐标上的位置
13. toXDelta 属性为动画结束时 X坐标上的位置
14. fromYDelta 属性为动画起始时 Y坐标上的位置
15. toYDelta 属性为动画结束时 Y坐标上的位置
16. 注意:
17. 没有指定fromXType toXType fromYType toYType 时候,
18. 默认是以自己为相对参照物
19. 长整型值:
20. duration 属性为动画持续时间
21. 说明: 时间以毫秒为单位
22. -->
23. </set></FONT></FONT>


<rotate>

1.  <?xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android">
3. <rotate
4. android:interpolator="@android:anim/accelerate_decelerate_interpolator"
5. android:fromDegrees="0"
6. android:toDegrees="+350"
7. android:pivotX="50%"
8. android:pivotY="50%"
9. android:duration="3000" />
10. <!-- rotate 旋转动画效果
11. 属性:interpolator 指定一个动画的插入器
12. 在我试验过程中,使用android.res.anim中的资源时候发现
13. 有三种动画插入器:
14. accelerate_decelerate_interpolator 加速-减速 动画插入器
15. accelerate_interpolator 加速-动画插入器
16. decelerate_interpolator 减速- 动画插入器
17. 其他的属于特定的动画效果
18.
19. 浮点数型值:
20. fromDegrees 属性为动画起始时物件的角度
21. toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
22.
23.
24. 说明:
25. 当角度为负数——表示逆时针旋转
26. 当角度为正数——表示顺时针旋转
27. (负数from——to正数:顺时针旋转)
28. (负数from——to负数:逆时针旋转)
29. (正数from——to正数:顺时针旋转)
30. (正数from——to负数:逆时针旋转)
31.
32. pivotX 属性为动画相对于物件的X坐标的开始位置
33. pivotY 属性为动画相对于物件的Y坐标的开始位置
34.
35. 说明: 以上两个属性值 从0%-100%中取值
36. 50%为物件的X或Y方向坐标上的中点位置
37.
38. 长整型值:
39. duration 属性为动画持续时间
40. 说明: 时间以毫秒为单位
41. -->
42. </set>
43.




如何使用XML中的动画效果

1.  public static Animation loadAnimation (Context context, int id) 
2. //第一个参数Context为程序的上下文
3. //第二个参数id为动画XML文件的引用
4. //例子:
5. myAnimation= AnimationUtils.loadAnimation(this,R.anim.my_action);
6. //使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件
7.


<?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>


<!--
fromXDelta,fromYDelta 起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
toXDelta, toYDelta 动画结束时X,Y的座标 --> <!--
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为重新执行,方向不变 -->

标签:xml,动画,XML,interpolator,duration,android,属性
From: https://blog.51cto.com/u_15907753/5926336

相关文章

  • [译]Android防止内存的八种方法(下)
    在上一篇​​Android内存泄漏的八种可能(上)​​中,我们讨论了八种容易发生内存泄漏的代码。其中,尤其严重的是泄漏​​Activity​​对象,因为它占用了大量系统内存。不管内存泄......
  • Android中的EditText默认时不弹出软键盘的方法
    在做项目过程中,父Activity中用ViewPager中的子Activity EditText默认弹出软键盘。这是想屏蔽软键盘应该从 父Activity中处理。处理子Activity达不到效果。......
  • [译]Android内存泄漏的八种可能(上)
    ​​原文EightWaysYourAndroidAppCanLeakMemor​​Java是垃圾回收语言的一种,其优点是开发者无需特意管理内存分配,降低了应用由于局部故障(segmentationfault)导致......
  • Android的架构设计
    AS历史版本下载地址https://developer.android.google.cn/studio/archiveAndroid的架构设计干Android也有一点的年头,特此记录一下自己理解的App架构设计。......
  • android 网络可用否,以及类型
    在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。下面的代码,作为例子,详细说明了对于当前网络情况的判断。先看一个自己定义的应用类。viewplaincop......
  • android 进程管理
    系统会对进程的重要性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程;(系统会根据“oom_adj”来判断需要结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系......
  • android webView 文字、图片分别加载。乱码问题
     1.加载url前,设置图片阻塞1.webSettings.setBlockNetworkImage(true);2.加载完毕后,关闭图片阻塞1.publicvoidonPageFinished(WebViewview,Stringurl){2.......
  • Android Bitmap和Drawable
    一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的......
  • Android类库打包方法探究
    众所周知,Android应用使用ADT打包成apk,apk中包含了运行程序所需要的一切,包括:class、asset、res、AndroidManifest.xml等。而对于类库项目(libraryproject),ADT生成的jar......
  • android打开系统联系人界面
    在android应用程序的开发中,经常要实现的一个功能是调用系统自带的联系人界面,做到选择人之后,取得相应的名称和号码,并返回。android2.0前后实现方式上也有一定的差别:主要是2.0......