編輯:關於Android編程
API概要
在android.animation包中能夠找大多數屬性動畫系統的API。因為視圖動畫系統已經在android.view.animation包中定義了很多插值,因此在屬性動畫系統中也能夠使用這些插值。下列表格中介紹了屬性動畫系統的主要組件。
Animator類提供了創建動畫的基本架構。通常不會直接使用這個類,因為它只提供了基本功能,因此要完全的支持動畫值就必須擴展這個類,下表列出了Animator的子類。
表1.Animators
類
說明
ValueAnimator
用於計算處理動畫屬性值的主要屬性動畫時序引擎。它有所有的計算動畫值的核心功能,並包含了每個動畫的時序細節、動畫是否重復的信息、監聽接收更新事件和設置評估定制類型的能力。有兩類動畫屬性:1.計算動畫處理的值;2.把這些值設置到要進行動畫處理的對象和屬性上。ValueAnimator類不執行第二類屬性,因此必須通過ValueAnimator對象來監聽被計算值的變化,並且要自己修改想要的動畫對象的邏輯。更多的信息請看用ValueAnimator類來進行動畫處理。(http://developer.android.com/guide/topics/graphics/prop-animation.html#value-animator)
ObjectAnimator
ValueAnimator類的一個子類,它允許給目標對象和對象屬性設置動畫。這個類在計算新的動畫值的時候,會更新屬性的坐標。大多數時候都會使用ObjectAnimator類,因為它使得動畫值的處理更加容易。但是,有些時候也會直接使用ValueAnimator類,因為ObjectAnimator類有更多的限制,如在目標對象上需要指定用於呈現的acessor方法。
AnimatorSet
提供了一種把動畫組織到一起的機制,以便它們能夠彼此相互關聯的運行。你能夠設置動畫在一起播放、順序的播放、或者在指定的延時之後播放。更多的信息請看“用Animator Sets來編排多個動畫”
評價器會告訴屬性動畫系統如何計算給定屬性的值。它們利用Animator類提供時序數據:動畫的開始和結束值,以及基於這些數據計算得來的屬性動畫值。屬性動畫系統提供了下列評價器:
表2.Evaluators
Class/Interface
說明
IntEvaluator
默認的用於評價int類型屬性計算值的評價器
FlaoatEvaluator
默認的用於評價float類型屬性計算值的評價器
ArgbEvaluator
默認的用於評價顏色屬性計算值的評價器,顏色屬性值用十六進制表示。
TypeEvaluator
允許創建自定義評價器的接口。如果要讓一個非int、float、顏色類型的屬性具有動畫效果,就必須實現這個TypeEvaluator接口,用它來指定如何計算對象屬性動畫值。如果想要處理有別於int、float和顏色類型默認行為的動畫,也能夠給它們指定一個自定義的TypeEvaluator。如何編寫自定義的評價器,請看“使用TypeEvaluator”
時間差值給動畫中的時間函數定義了一個用於計算的具體的值。例如,一個線性過渡的動畫,意味著整個動畫期間動畫都會均勻的移動,或者例如加速開始,減少結束的非線性動畫。表3介紹了被包含在android.view.animation包中差值。如果那裡沒有適合你需要的差值,你可以實現TimeInterpolator接口,創建自己的差值。如何編寫自定義差值的更多信息,請看“使用差值”。
表3.Interpolators
Class/Interface
說明
AccelerateDecelerateInterpolator
變化頻率在開始和結尾處慢,而在中間部分加速
AccelerateInterpolator
變化頻率在開始慢,然後加速
AnticipateInterpolator
先向後,然後向前拋出(拋物運動)
AnticipateOvershootInterpolator
先向後,向前拋出並超過目標值,然後最終返回到目標值。
BounceInterpolator
在結束時反彈
CycleInterpolator
用指定的循環數,重復播放動畫
DecelerateInterpolator
變化頻率是快出,然後減速
LinearInterpolator
固定的變化頻率
OvershootInterpolator
向前拋出,並超過目標值,然後再返回
TimeInterpolator
實現自定義插值的一個接口
作者:FireOfStar
介紹相信開發Android的人都會有這種體會:從網上下載的demo運行的好好的,但是只要出現了滑動沖突,Demo就無法正常工作了。但是不用擔心,解決滑動沖突有固定的模式,
實現效果如下:實現思路:1、如何實現圓中水面上漲效果:利用Paint的setXfermode屬性為PorterDuff.Mode.SRC_IN畫出進度所在的矩形與圓的交集
android開發,除了使用原生態的開發方式之外,還可以使用java+html+javascript混合開發的方式來開發,這樣可以節省大量的開發時間,同時還可以使不同設備
復制代碼 代碼如下:public class PageWidget extends View { private Bitmap for
先占個位置,下次翻譯~ :p Properly stopping a
一、ArrayAdapter的介紹以及ListView的用法: Adap