Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 詳談Android動畫效果translate、scale、alpha、rotate

詳談Android動畫效果translate、scale、alpha、rotate

編輯:關於Android編程

動畫類型

Android的animation由四種類型組成

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

Android動畫解析

alpha xml 淡出效果

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<alpha  
  android:fromAlpha="1.0"   
  android:toAlpha="0.0"   
  android:duration="500" />  
</set>  
<!--   
  fromAlpha:開始時透明度  
  toAlpha: 結束時透明度  
  duration:動畫持續時間 --> 

alpha xml 淡入效果

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<alpha  
  android:fromAlpha="0.0"   
  android:toAlpha="1.0"   
  android:duration="500" />  
</set>  
<!--   
  fromAlpha:開始時透明度  
  toAlpha: 結束時透明度  
  duration:動畫持續時間 --> 

rotate.xml 旋轉效果:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<rotate                     
  android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
  android:fromDegrees="300"  
  android:toDegrees="-360"  
  android:pivotX="10%"  
  android:pivotY="100%"  
  android:duration="10000" />  
</set>  
<!--   
 fromDegrees  動畫開始時的角度  
 toDegrees   動畫結束時物件的旋轉角度,正代表順時針   
 pivotX  屬性為動畫相對於物件的X坐標的開始位置  
 pivotY  屬性為動畫相對於物件的Y坐標的開始位置  -->  

scale.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為重新執行,方向不變 --> 

translate.xml 移動效果:

<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
<translate  
  android:fromXDelta="320"  
  android:toXDelta="0"  
  android:fromYDelta="480"  
  android:toYDelta="0"  
  android:duration="10000" />  
</set>  
<!--   
fromXDelta,fromYDelta  起始時X,Y座標,屏幕右下角的座標是X:320,Y:480  
toXDelta, toYDelta   動畫結束時X,Y的座標 --> 

以上這篇詳談Android動畫效果translate、scale、alpha、rotate就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved