(四)Android動畫開發---Animation動畫效果詳解

來源:互聯網
上載者:User

標籤:

Android 使用Animation的具體操作方法我們將會在這篇文章中做一個詳細的介紹。大家可以通過這裡舉出的代碼進行解讀,並從中瞭解到相關操作技巧,方便我們將來開發應用,並且加深對這一作業系統的理解程度。

在Android中,分別可以在xml中定義Animation,也可以在程式碼中定義。

動畫類型

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




如何在XML檔案中定義動畫

① 開啟Eclipse,建立Android工程
② 在res目錄中建立anim檔案夾
③ 在anim目錄中建立一個myanim.xml(注意檔案名稱小寫)
④ 加入XML的動畫代碼

<?xml version="1.0" encoding="utf-8"?>  <set xmlns:android="http://schemas.android.com/apk/res/android">    <alpha/>    <scale/>    <translate/>    <rotate/>  </set>

Android動畫解析--XML

<?xml version="1.0" encoding="utf-8"?>  <set xmlns:android="http://schemas.android.com/apk/res/android" >  <alpha  android:fromAlpha="0.1"android:toAlpha="1.0"android:duration="3000"/>   <!-- 透明度控制動畫效果 alpha          浮點型值:              fromAlpha 屬性為動畫起始時透明度              toAlpha   屬性為動畫結束時透明度              說明:                   0.0表示完全透明                  1.0表示完全不透明              以上值取0.0-1.0之間的float資料類型的數字               長整型值:              duration  屬性為動畫期間              說明:                       時間以毫秒為單位  -->  </set>
<?xml version="1.0" encoding="utf-8"?>  <set xmlns:android="http://schemas.android.com/apk/res/android">     <scale              android:interpolator=                       "@android:anim/accelerate_decelerate_interpolator"          android:fromXScale="0.0"          android:toXScale="1.4"          android:fromYScale="0.0"          android:toYScale="1.4"          android:pivotX="50%"          android:pivotY="50%"          android:fillAfter="false"          android:duration="700" />  </set>  <!-- 尺寸伸縮動畫效果 scale         屬性:interpolator 指定一個動畫的插入器          在我實驗過程中,使用android.res.anim中的資源時候發現          有三種動畫插入器:              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 ,該動畫轉化在動畫結束後被應用  -->
<?xml version="1.0" encoding="utf-8"?>  <set xmlns:android="http://schemas.android.com/apk/res/android">  <translate  android:fromXDelta="30"android:toXDelta="-80"android:fromYDelta="30"android:toYDelta="300"android:duration="2000"/>  <!-- translate 位置轉移動畫效果          整型值:              fromXDelta 屬性為動畫起始時 X座標上的位置                  toXDelta   屬性為動畫結束時 X座標上的位置              fromYDelta 屬性為動畫起始時 Y座標上的位置              toYDelta   屬性為動畫結束時 Y座標上的位置              注意:                       沒有指定fromXType toXType fromYType toYType 時候,                       預設是以自己為相對參照物                       長整型值:              duration  屬性為動畫期間              說明:   時間以毫秒為單位  -->  </set>
<?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="0"        android:toDegrees="+350"                android:pivotX="50%"        android:pivotY="50%"            android:duration="3000" />    <!-- rotate 旋轉動畫效果         屬性:interpolator 指定一個動畫的插入器               在我實驗過程中,使用android.res.anim中的資源時候發現               有三種動畫插入器:                  accelerate_decelerate_interpolator   加速-減速 動畫插入器                  accelerate_interpolator               加速-動畫插入器                  decelerate_interpolator               減速- 動畫插入器               其他的屬於特定的動畫效果              浮點數型值:              fromDegrees 屬性為動畫起始時物件的角度                  toDegrees   屬性為動畫結束時物件旋轉的角度 可以大於360度                           說明:                       當角度為負數——表示逆時針旋轉                       當角度為正數——表示順時針旋轉                                     (負數from——to正數:順時針旋轉)                          (負數from——to負數:逆時針旋轉)                        (正數from——to正數:順時針旋轉)                        (正數from——to負數:逆時針旋轉)                          pivotX     屬性為動畫相對於物件的X座標的開始位置              pivotY     屬性為動畫相對於物件的Y座標的開始位置                   說明:        以上兩個屬性值 從0%-100%中取值                           50%為物件的X或Y方向座標上的中點位置               長整型值:              duration  屬性為動畫期間              說明:       時間以毫秒為單位  -->  </set>

本文轉載自 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1113/548.html

(四)Android動畫開發---Animation動畫效果詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.