Android簡單動畫效果

來源:互聯網
上載者:User

標籤:android   style   http   io   ar   sp   檔案   on   art   

a1.xml 淡出效果


<?xml version="1.0" encoding="utf-8"?>


    <set xmlns:android="http://schemas.android.com/apk/res/android" >


        <alpha
            android:duration="500"
            android:fromAlpha="1.0"
            android:toAlpha="0.0" />
    </set>
    <!-- fromAlpha:開始時透明度 toAlpha:結束時透明度 duration:動畫期間 -->


a2.xml 淡入效果: 


<?xml version="1.0" encoding="utf-8"?>


    <set xmlns:android="http://schemas.android.com/apk/res/android" >


        <alpha
            android:duration="500"
            android:fromAlpha="0.0"
            android:toAlpha="1.0" />
    </set>
rotate.xml 旋轉效果: 


<?xml version="1.0" encoding="utf-8"?>


    <set xmlns:android="http://schemas.android.com/apk/res/android" >


        <rotate
            android:duration="10000"
            android:fromDegrees="300"
            android:interpolator="@android:anim/accelerate_decelerate_interpolator"
            android:pivotX="10%"
            android:pivotY="100%"
            android:toDegrees="-360" />
    </set>
    <!--
fromDegrees開始時的角度 toDegrees動畫結束時角度 pivotX,pivotY為動畫相對物件的X、Y座標的開端位置,
50%為物件的X或Y偏向座標上online的中點位置
    -->


scale.xml 縮放效果: 


<?xml version="1.0" encoding="utf-8"?>


    <set xmlns:android="http://schemas.android.com/apk/res/android" >


        <scale
            android:duration="10000"
            android:fromXScale="0.0"
            android:fromYScale="0.0"
            android:interpolator="@android:anim/decelerate_interpolator"
            android:pivotX="50%"
            android:pivotY="50%"
            android:repeatCount="1"
            android:repeatMode="reverse"
            android:startOffset="0"
            android:toXScale="1.5"
            android:toYScale="1.5" />
    </set>
    <!--
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:duration="10000"
            android:fromXDelta="320"
            android:fromYDelta="480"
            android:toXDelta="0"
            android:toYDelta="0" />
    </set>
    <!--
fromXDelta,fromYDelta動畫起始時X,Y座標,螢幕右下角的座標是X:320,Y:480 toXDelta,toYDelta
動畫結束時X,Y的座標
    -->


動畫效果在anim目錄下的xml檔案中定義,在程式中用AnimationUtils.loadAnimation(Context context,
int ResourcesId)載入成Animation對象,在需要顯示動畫效果時,執行需要動畫的View的startAnimation方法,
傳入 Animation,即可。
View view = new View(this);
Animation animation=AnimationUtils.loadAnimation(this, R.anim.translate);
view.startAnimation(animation);
xxx.addView(view);
 
切換Activity也可以應用動畫效果,在startActivity方法後,執行 overridePendingTransition方法,
兩個參數分別是切換前的動畫效果,切換後的動畫效果。overridePendingTransition只支援android 2.0以上版本。
startActivity(intent);


overridePendingTransition(R.anim.a1,R.anim.a2);

Android簡單動畫效果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.