Android 應用的動畫實踐

2021-08-27 13:19:39 字數 3662 閱讀 5309

在android 裡你能夠使用的動畫效果:

以上動畫的基本使用就是本文的內容了。由於,本人的能力問題,實在搞不出讓人眼前一亮的動畫,就湊合著看著吧。不過,那些令人讚嘆的動畫效果的基礎就是這些。

缺省內置7種型別的插值器,個人覺得,如果只是應用裡面的一些動畫的話這7個就夠用了。

accelerateinterpolator

加速

減速

開始,和結尾都很慢,但是,中間加速

開始向後一點,然後,往前拋

往前拋超過一點,然後返回來

開始向後一點,往前拋過點,然後返回來

結束的時候彈一下

勻速

以上動畫都源自android官方api demo,用eclipse adt android 選擇例子專案導航,然後,選擇apidemos 就能建立(什麼沒聽說過?現在知道了吧。。。)

目前講解動畫api 的資料比較多,這裡就不在重複那些基礎的知識了!

現在讓我們學習一下,如何利用,平移,縮放,旋轉創造出讓人眼前一亮的動畫.

為了,更有目的的使用動畫,下面假想乙個使用場景。

假想:商品購物車案例

notice :為了方便看效果,動畫延時時間將會設定的比較長。特地說明一下:假想就是隨便想,切勿對號入座。

任務:

購物車動畫設計方案:

利用,透明,平移,對購物車的出現和離開增加動畫互動效果。

經過一番努力效果如下(湊合著看吧。。):

相關知識點

一些動畫常用的通用基礎屬性:

notice: 所謂通用就是說所有動畫標籤都適用於這些屬性

andorid:interpolator設定動畫的插值器

android:repeatmode動畫重播的模式,即從頭到尾,從頭到尾,還是從頭到尾,在從尾到頭。

透明的使用:

value 從 0 (透明) 到 1 (不透明)在android中透明主要用於對view 淡入,淡出的效果控制主要有兩個屬性

平移的使用:

支援使用 %,如 「50%「 獲取的是這個view的百分之50,除此之外還有另外一種寫法:」50%p「 意思是獲取這個view的上一級view的百分之50 當然,指定特定值也是支援的「22.2」,不過為了相容更多的android裝置建議還是使用百分比的值。

這次的方案展示了兩個插值器的使用:

用於出現的:bounceinterpolator

用於離開的: anticipateinterpolator

所謂插值器就是用於數值的起始間的變化,就是相當於乙個類似於物理引擎的東西。android官方內建了一些簡單常用的數值變換,讓我們,不需要去學習相關的物理知識。

例如:開始值為1,結束值為 100.那麼我們如何控制變化這個值的變化過程呢?這裡就是插值器的使用。

一般勻速的話就是:

1,2,3,4,5...100。 然後我們就會看到物體以乙個勻速的速度進行平移操作。

那麼我們需要物體像汽車那樣加速度的前進,我們可以用加速插值器,我們從1到100的過程,就會是:

1,2,4,5,8,16.。。。。100 展示在我們面前的view物件就會以乙個加速度的形式進行平移。

有很多應用開發者並不熟悉動畫製作的一些基礎知識,可能不太明白。現在,通過對原始碼進行分析,來徹底搞明白這個概念。

我們分析一些interpolator 類樹:

從api文件timeinterpolator 我們可以知道,這個插值器的實現只有乙個方法:

getinterpolation(float t);

然後我們挑選前面用過的bounceinterpolator 看下,它是如何實現這個方法。如果感興趣的,可以按照這種方法,把其他幾個插值器的實現都看一遍。

最後我們會發現,插值器的作用就是返回值。

接著我們來看下animation line:869 是怎麼用這個介面的.

看完這這幾個地方,相信應該對android 動畫框架怎麼對值進行變換的原理應該有所了解。

有了以上知識,我們對android的動畫框架基本上已經完全了解,現在,我們利用學到的知識,進行更好的動畫設計。

我們接著剛才的案例,著手設計商品控制項的動畫設計

商品動畫設計:

這次,我們學習乙個新的動畫標籤縮放()

效果如下:

使view 大點或者小點

最後我們把購物車的動畫,和商品的動畫在組合起來。效果如下:

具體實現 line: 77 -104

這次我們學習一下如何監聽動畫的動作,對於animationlistener()主要有三個

Android應用啟動動畫例項

顯示歡迎介面並跳轉到主介面 首先,建立乙個動畫layout startmain.xml 然後在oncreate中顯示動畫view final view view view.inflate this,r.layout.startmain,null setcontentview view 建立動畫型別及...

Android動畫 View動畫

1 使用view,首先要建立xml檔案。res anim filename.xml 使用動畫 button button animation animation animationutils.loadanimation this,r.anim.filename button.startanimati...

Android動畫 幀動畫

首先在res中新建乙個drawable資料夾,將需要展示的放在裡面,同樣的還有展示的fight.xml檔案,如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...