Animation從總體來(lái)說(shuō)可以分為兩類(lèi):
1.Tweened Animations:該類(lèi)提供了旋轉(zhuǎn),移動(dòng)刺桃,伸展,淡入淡出等效果
Tweened Animations也有四種類(lèi)型:
Alpha:淡入淡出效果
[Scale](https://so.csdn.net/so/search?q=Scale&spm=1001.2101.3001.7020):縮放效果
Rotate:旋轉(zhuǎn)效果
Translate:移動(dòng)效果
設(shè)置動(dòng)畫(huà)有兩種方式:在xml文件中或者在Java代碼中
在XML中設(shè)置動(dòng)畫(huà)效果步驟:
在res文件夾下新建一個(gè)名為anim的文件夾
創(chuàng)建xml文件厦瓢,并首先加入set標(biāo)簽(set標(biāo)簽就相當(dāng)于Java代碼中的AnimationSet)
在Set標(biāo)簽中加入alpha脉课,scale,rotate俩由,translate標(biāo)簽(相當(dāng)于Java代碼中的AlphaAnimation毒嫡,ScaleAnimation,RotateAnimation幻梯,TranslateAnimation)
在Java代碼中使用AnimationUtils的loadAnimation方法來(lái)加載XML文件兜畸,并得到一個(gè)Animation對(duì)象
使用控件的startAnimation()方法執(zhí)行這個(gè)Animation對(duì)象
那么通用的屬性:
- android:duration:設(shè)置動(dòng)畫(huà)持續(xù)時(shí)間
- android:fillAfter:如果fillAfter設(shè)為true,則動(dòng)畫(huà)執(zhí)行后碘梢,控件將停留在動(dòng)畫(huà)結(jié)束的狀態(tài)
- android:fillBefore:如果fillBefore設(shè)為true咬摇,則動(dòng)畫(huà)執(zhí)行后,控件將回到動(dòng)畫(huà)開(kāi)始的狀態(tài)
- android:startOffset(long startOffset):設(shè)置動(dòng)畫(huà)執(zhí)行之前等待的時(shí)間(單位:毫秒)
- android:repeatCount(int repeatCount):設(shè)置動(dòng)畫(huà)重復(fù)的次數(shù)
- android:interpolator:設(shè)置動(dòng)畫(huà)的變化速度痘系,其值: {
Android:interpolator="@android:anim/accelerate_decelerate_interpolator":先加速菲嘴,后減速
android:interpolator="@android:anim/accelerate_interpolator":加速
android:interpolator="@android:anim/decelerate_interpolator":減速
android:interpolator="@android:anim/cycle_Interpolator":動(dòng)畫(huà)循環(huán)播放特定次數(shù),速率改變沿著正弦曲線(xiàn)
android:interpolator="@android:anim/linear_Interpolator":勻速
}