全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

Android培訓(xùn)之補(bǔ)間動(dòng)畫(huà)xml法(一)

更新時(shí)間:2017-08-01 來(lái)源:黑馬程序員Android培訓(xùn)學(xué)院 瀏覽量:


我們不僅可以在程序中通過(guò)代碼來(lái)編寫(xiě)一個(gè)補(bǔ)間動(dòng)畫(huà),也可以通過(guò)xml文件來(lái)定義一個(gè)補(bǔ)間動(dòng)畫(huà),下面通過(guò)一個(gè)具體的DEMO來(lái)學(xué)習(xí)xml補(bǔ)間動(dòng)畫(huà)的編寫(xiě)。
新建工程
【File】——>【new】——>【Android Application Project】命名為:11_補(bǔ)間動(dòng)畫(huà)xml
編寫(xiě)布局
根據(jù)需求編寫(xiě)布局,效果如圖1-1:
圖1-1所示的頁(yè)面與“10_補(bǔ)間動(dòng)畫(huà)”一致,在此就不展示該頁(yè)面的xml代碼了。下面我們要實(shí)現(xiàn)的是各個(gè)功能按鈕的動(dòng)畫(huà)效果,
具體代碼如下:
透明度編寫(xiě)
在資源文件下新建一個(gè)文件夾anim,再在該文件夾下創(chuàng)建一個(gè)alpha.xml文件,在該文件中定義透明度變化的動(dòng)畫(huà)效果,代碼
如例1-1:
例1-1
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromAlpha="0"
        android:toAlpha="1.0"
        android:duration="2000"
        android:repeatCount="2"
        android:repeatMode="reverse">
</alpha>
復(fù)制代碼
動(dòng)畫(huà)定義已經(jīng)完成,我們接下來(lái)需要做的是:在activity中實(shí)現(xiàn)動(dòng)畫(huà)資源的加載。代碼如例1-2所示:
例1-2
public void alpha(View view) {
        Animation aa = AnimationUtils.loadAnimation(this, R.anim.alpha);
        iv.setAnimation(aa);
}
復(fù)制代碼
運(yùn)行程序效果如圖1-2所示:
旋轉(zhuǎn)編寫(xiě)
在文件夾anim下新建一個(gè)rotate.xml文件,在該文件中定義旋轉(zhuǎn)動(dòng)畫(huà),代碼如例1-3所示:
例1-3
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="2000"
        android:repeatCount="2"
        android:repeatMode="reverse">
</rotate>
復(fù)制代碼
由例1-3可知:圖片會(huì)以自身的中心點(diǎn)為原點(diǎn)進(jìn)行旋轉(zhuǎn),若以父窗體中心點(diǎn)為旋轉(zhuǎn)中心,需要調(diào)整代碼為:
android:pivotX="50%p" android:pivotY="50%p"
在Activity編寫(xiě)旋轉(zhuǎn)按鈕的點(diǎn)擊事件,代碼如例1-4:
例1-4
public void rotate(View view){
        Animation aa = AnimationUtils.loadAnimation(this, R.anim.rotate);
        iv.setAnimation(aa);
}
復(fù)制代碼
運(yùn)行程序,效果如圖1-3所示:
本文版權(quán)歸黑馬程序員Android培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Android培訓(xùn)學(xué)院
首發(fā):http://android.ithaima.com

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!