qml 動畫,android 動畫xml屬性總結

 2023-10-31 阅读 22 评论 0

摘要:XML中 alpha 漸變透明度動畫效果 scale 漸變尺寸伸縮動畫效果 translate 畫面轉換位置移動動畫效果 rotate 畫面轉移旋轉動畫效果 JavaCode中 AlphaAnimation 漸變透明度動畫效果 ScaleAnimation 漸變尺寸伸縮動畫效果 TranslateAnimation 畫面轉換位置移動動畫效果 RotateAni
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. duration屬性為動畫持續時間
  18. 說明:
  19. 時間以毫秒為單位
  20. -->
  21. </set>
復制代碼


<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. fromXScale 屬性為動畫起始時 X坐標上的伸縮尺寸
  25. toXScale 屬性為動畫結束時 X坐標上的伸縮尺寸

  26. fromYScale 屬性為動畫起始時Y坐標上的伸縮尺寸
  27. toYScale 屬性為動畫結束時Y坐標上的伸縮尺寸

  28. 說明:
  29. 以上四種屬性值

  30. 0.0表示收縮到沒有
  31. 1.0表示正常無伸縮
  32. 值小于1.0表示收縮
  33. 值大于1.0表示放大

  34. pivotX 屬性為動畫相對于物件的X坐標的開始位置
  35. pivotY 屬性為動畫相對于物件的Y坐標的開始位置

  36. 說明:
  37. 以上兩個屬性值 從0%-100%中取值
  38. 50%為物件的X或Y方向坐標上的中點位置

  39. 長整型值:
  40. duration屬性為動畫持續時間
  41. 說明: 時間以毫秒為單位

  42. 布爾型值:
  43. fillAfter 屬性 當設置為true ,該動畫轉化在動畫結束后被應用
  44. -->
復制代碼


<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. fromDegrees 屬性為動畫起始時物件的角度
  20. toDegrees 屬性為動畫結束時物件旋轉的角度 可以大于360度


  21. 說明:
  22. 當角度為負數——表示逆時針旋轉
  23. 當角度為正數——表示順時針旋轉
  24. (負數from——to正數:順時針旋轉)
  25. (負數from——to負數:逆時針旋轉)
  26. (正數from——to正數:順時針旋轉)
  27. (正數from——to負數:逆時針旋轉)

  28. pivotX 屬性為動畫相對于物件的X坐標的開始位置
  29. pivotY 屬性為動畫相對于物件的Y坐標的開始位置

  30. 說明: 以上兩個屬性值 從0%-100%中取值
  31. 50%為物件的X或Y方向坐標上的中點位置

  32. 長整型值:
  33. duration屬性為動畫持續時間
  34. 說明: 時間以毫秒為單位
  35. -->
  36. </set>
復制代碼


如何使用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文件


<?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為重新執行,方向不變 -->
復制代碼

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/165555.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息