Android應用中實現(xiàn)屬性動畫的原理是什么-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關Android應用中實現(xiàn)屬性動畫的原理是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站企業(yè)建站,十載網(wǎng)站建設經(jīng)驗,專注于網(wǎng)站建設技術,精于網(wǎng)頁設計,有多年建站和網(wǎng)站代運營經(jīng)驗,設計師為客戶打造網(wǎng)絡企業(yè)風格,提供周到的建站售前咨詢和貼心的售后服務。對于成都做網(wǎng)站、網(wǎng)站建設中不同領域進行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準市場調研,為客戶提供的解決方案。

Android動畫概述:

Android 的動畫可以分為三種:View 動畫、幀動畫和屬性動畫,View 動畫通過對場景里的對象不斷做圖像變化(平移、縮放、旋轉、透明度)從而產(chǎn)生動畫效果,View 動畫支持自定義。幀動畫通過順序播放一系列圖像產(chǎn)生動畫效果,可以簡單理解為圖片切換動畫,圖片過大會導致 OOM。屬性動畫通過動態(tài)的改變對象的屬性從而達到動畫效果,屬性動畫為API 11的新特性,在低版本需要通過兼容庫來使用它。

屬性動畫:

屬性動畫可以對任意對象的屬性進行動畫而不僅僅是 View,在一個時間間隔內可以完成對象從一個屬性值到另一個屬性值的改變。因此屬性動畫幾乎是無所不能的,只要對象有這個屬性,它都能實現(xiàn)動畫效果。、

使用:

屬性動畫中有 ValueAnimator 、ObjectAnimator 和 AnimatorSet 等概念,其中 ObjectAnimator 繼承自 ValueAnimator,用來是實現(xiàn)一個屬性動畫,AnimatorSet 是動畫集合,可以定義一組動畫,它們使用起來是及其簡單的,在此不再舉例。屬性動畫除了通過代碼實現(xiàn)以外,同View動畫一樣,也可以通過XML來定義,屬性動畫需要定義在res/animator目錄下,其中的 set、objectAnimator 和 animator 標簽分別對應 AnimatorSet、ObjectAnimator 和 ValueAnimator 。盡管屬性動畫可以通過XML來實現(xiàn),但在實際開發(fā)中往往會采用代碼來實現(xiàn),因為很多時候一個屬性的起始值是無法提前確定的。

插值器和估值器:

TimeInterpolator 譯為時間插值器,它的作用是根據(jù)時間流逝的百分比來計算出當前屬性值改變的百分比,系統(tǒng)預置的有 LinearInterpolator (線性插值器:勻速動畫)、 AccelerateDecelerateInterpolator (加速減速插值器:動畫兩頭慢中間快)和 DecelerateInterpolator (減速插值器:動畫越來越慢)等。

TypeEvaluator 譯為類型估值算法,也叫估值器,它的作用是根據(jù)當前屬性改變的百分比來計算改變后的屬性值,系統(tǒng)預置的有 IntEvaluator (針對整型屬性)、 FloatEvaluator (針對浮點型屬性)和ArgbEvaluator (針對 Color 屬性)。屬性動畫中的插值器( Interpolator )和估值器( TypeEvaluator )很重要,它們是實現(xiàn)非勻速動畫的重要手段。

屬性動畫的監(jiān)聽器:

屬性動畫提供了監(jiān)聽器來監(jiān)聽動畫的播放過程,主要有AnimatorUpdateListenerAnimatorListener 。AnimatorListener 可以監(jiān)聽動畫的開始、結束、取消以及重復播放 ,同時為了方便開發(fā),系統(tǒng)還提供了 AnimatorListenerAdapter 這個類,他是 AnimatorListener 的適配器類, 可以有選擇的實現(xiàn)這四個監(jiān)聽方法。AnimatorUpdateListener 比較特殊,他會監(jiān)聽整個動畫過程, 動畫是由許多幀組成的,每播放一幀對應監(jiān)聽方法就會被調用一次。

對任意屬性做動畫:

屬性動畫可以對任意屬性添加動畫效果,假如我們要給一個 button 加一個動畫,讓這個 button 的寬度增加 100px,我們可能會這樣寫:

@Override
public void onClick(View v){

   ObjectAnimator.ofInt(v,"width",100).setDuration(1000).start();

}

當前文章:Android應用中實現(xiàn)屬性動畫的原理是什么-創(chuàng)新互聯(lián)
文章起源:http://muchs.cn/article4/djgjoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、商城網(wǎng)站網(wǎng)頁設計公司、網(wǎng)站導航網(wǎng)站維護、服務器托管

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設