好久沒來寫文章了,一方面是因為自己懶了,另外乙個是因為最近工作比較忙,沒有閒時間(其實主要還是因為懶)。話說八月多換了乙個新工作,在之前的公司,主要是橫向發展,了解了很多技術。在現在的公司主要是縱向發展,更加深入的探索。之前是廣而不精,沒有深入學習。在現在的公司呢,能夠更加深入的學習技術。就拿最近的工作來說吧,動畫很多,剛開始只是知道android動畫分為屬性動畫、幀動畫和補間動畫。但是,他們之間有什麼具體的區別就不是特別清楚了。尤其是屬性動畫和補間動畫的區別,我能說自己被補間動畫坑慘了嗎?(其實,還是自己學藝不精,需要繼續努力了。)好了,廢話說多了,還是來看看今天的文章吧。
要學習android動畫,我們以乙個例子來深入學習,畢竟都是要把功能實現出來,寫一些大而空沒有實用性的東西,不但是敷衍別人,更是對自己的不負責任。如下圖所示:(原諒我自戀一下,放了自己的影象照)
* 動畫
*/public static void scananimation(context context, framelayout mlytall)
之前在分析的時候說上面直接寫死寬高值之後進行縮放不嚴謹,那麼我們來分析一下。因為android手機螢幕解析度很多,如果在大螢幕手機上面可能不會出現太大的問題,那麼在螢幕解析度比較低的手機上呢?有可能顯示不全或者按鈕擠壓到一起去了。那麼,就要動態計算小螢幕的寬高了。比如說ui給了我們的ui圖的寬高比是360640,那麼我們如何來動態計算螢幕的寬高比呢?那麼,x軸的縮放比率就不應該是94/densityutils.px2dp(context, width))了,而應該是(94(densityutils.px2dp(context, width))/360))/densityutils.px2dp(context, width)),就是說我們應該計算ui圖的寬和手機實際的寬的比率乘以94再除以螢幕的寬,這才是我們需要縮放的寬。那麼高呢?當然是一樣的了166 / densityutils.px2dp(context, height)),這樣寫當然也是有問題的了,而應該是(166*(densityutils.px2dp(context, height))/640))/densityutils.px2dp(context, height)),這樣才是更加嚴謹的寫法。
/**
* 動畫
*/public static void scananimation(context context, framelayout mlytall)
好了,今天就寫到這裡,如果有不正確的還希望各位指正,小可這裡不勝感激,還有就是,能用屬性動畫實現的,盡量不要用補間動畫來做,因為你會碰到各種坑。 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 ...
Android動畫之屬性動畫
補間動畫,只是乙個動畫效果,元件其實還在原來的位置上,xy沒有改變,屬性動畫則反之 import android.animation.animator import android.animation.animatorinflater import android.animation.animato...