android 屬性動畫

來源:互聯網
上載者:User

標籤:

一直再追郭霖的部落格和imooc上的一些新的視頻,最近有講到屬性動畫。

以下內容為部落格學習以及imooc上視頻資料的學習筆記:

在3.0之前比較常見的動畫為tween動畫和frame動畫:

tween動畫:就是對情境裡的對象不斷的進行映像變化來產生動畫效果(旋轉、平移、放縮和漸層);

frame動畫:即順序的播放事先做好的映像,與gif圖片原理類似,也類似電影效果。

 

在3.0以後除了支援以上兩種動畫以外,還增加了一個新的動畫:

property animation----屬性動畫。

傳統的animation動畫,舊的animation只適合顯示效果,不適合互動動畫

TranslateAnimation 位移動畫

雖然Imageview可以移動,但是移動後的imageview無法單擊,而在舊的位置可以單擊,這就是舊的animation的效果。

ofFloat第一個參數為要操控的控制項,第二個為要操作的屬性,第三個以及第四個為操作的範圍。

setDuration為操作的時間長度。

屬性動畫在移動後的控制項位置點擊可以toast.

 

實現控制項旋轉360度。

 

多個屬性動畫的使用:

 

 

按照順序進行動畫播放:

 

動畫監聽事件:

另外一種添加事件的監聽:

 

有層次的動畫顯示風格:

setStartDelay()設定延遲時間的屬性

插值器:

setInterpolator(new BounceInterpolator());


ValueAnimator

 

五秒內button上的內容從1到100:

通過對數值的處理進行動畫效果的處理

常用屬性:

translationX ,translationY----位移距離

rotation , rotationX ,rotationY,----水平或者豎直方向旋轉動畫

scaleX,scaleY----X方向,Y方向的縮放動畫

X,Y,移動到具體那個座標

alpha 透明度

 

常用的方法和類:

ValueAnimator----數值發生器

ObjectAnimator----ValueAnimator子類

AnimatorUpdateListener---動畫監聽事件

AnimatorListenerAdapter

PropertyValuesHolder

AnimatorSet----動畫集合,即可以同時對一個對象應用幾個動畫,這些動畫可以同時播放也可以對不同動畫設定不同開始位移

TypeEvaluators----根據屬性的開始、結束值與TimeInterpolation計算出的因子計算出目前時間的屬性值

Interplators

 

nterplators圖解:

    AccelerateInterpolator          加速,開始時慢中間加速

    DecelerateInterpolator         減速,開始時快然後減速

    AccelerateDecelerateInterolator    先加速後減速,開始結束時慢,中間加速

    AnticipateInterpolator        反向 ,先向相反方向改變一段再加速播放

    AnticipateOvershootInterpolator    反向加回彈,先向相反方向改變,再加速播放,會超出目的值然後緩慢移動   至目的值

    BounceInterpolator         跳躍,快到目的值時值會跳躍,如目的值100,後面的值可能依次為85,77,70,80,90,100

    CycleIinterpolator         迴圈,動畫迴圈一定次數,值的改變為一正弦函數:Math.sin(2 * mCycles * Math.PI * input)

    LinearInterpolator         線性,線性均勻改變

    OvershottInterpolator        回彈,最後超出目的值然後緩慢改變到目的值

    TimeInterpolator           一個介面,允許你自訂interpolator,以上幾個都是實現了這個介面

來源: <http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html>

相關進階資料:

http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html

AnimatorSeth和AnimatorListener:http://blog.csdn.net/new_abc/article/details/40143091

使用ObjectAnimator設定動畫:http://blog.csdn.net/new_abc/article/details/40106569

使用ValueAnimator設定動畫:http://blog.csdn.net/new_abc/article/details/40072499

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.