【Android】轉(zhuǎn)場動(dòng)畫(筆記)

一、動(dòng)畫文件存放的位置

在androidstudio中,res文件夾下anim文件夾animator文件夾,這兩個(gè)文件夾用于存儲(chǔ)動(dòng)畫。

anim文件夾

1.anim文件夾下存放tween animation(補(bǔ)間動(dòng)畫)和frame animation(逐幀動(dòng)畫)
2.xml文件里只有scale、rotate、translate、alpha、set五個(gè)標(biāo)簽
3.在代碼中使用AnimationUtils.loadAnimation()方法加載
4.使用View.setAnimation(Animation)為View加載動(dòng)畫,使用View.startAnimation()開啟動(dòng)畫

animator文件夾

1.animator文件夾下存放property animation,即屬性動(dòng)畫
2.xml文件里有animator、objectAnimator和set三個(gè)標(biāo)簽
3.在代碼中使用AnimatorInflater.loadAnimator()方法加載動(dòng)畫
4.使用Animator.setTarget(View)為View加載動(dòng)畫,使用Animator.start()開啟動(dòng)畫
以上知識(shí)點(diǎn)來源:
[https://blog.csdn.net/u014611408/article/details/96482832]
[https://blog.csdn.net/weixin_34342578/article/details/92474408]

二、動(dòng)畫分類

image.png

逐幀動(dòng)畫:它的原理就是將一張張單獨(dú)的圖片連貫的進(jìn)行播放,從而在視覺上產(chǎn)生一種動(dòng)畫的效果;有點(diǎn)類似于某些軟件制作gif動(dòng)畫的方式。(即一張張圖順序播放)
補(bǔ)間動(dòng)畫:分為四種形式,分別是 alpha(淡入淡出),translate(位移),scale(縮放大小),rotate(旋轉(zhuǎn))。補(bǔ)間動(dòng)畫只能夠作用在視圖View上,即只可以對一個(gè)Button、TextView、甚至是LinearLayout、或者其它繼承自View的組件進(jìn)行動(dòng)畫操作,但無法對非View的對象進(jìn)行動(dòng)畫操作。
屬性動(dòng)畫:是對于對象屬性的動(dòng)畫。因此,所有補(bǔ)間動(dòng)畫的內(nèi)容,都可以通過屬性動(dòng)畫實(shí)現(xiàn)。
補(bǔ)間動(dòng)畫和屬性動(dòng)畫的區(qū)別:
??補(bǔ)間動(dòng)畫中,雖然使用translate將圖片移動(dòng)了,但是點(diǎn)擊原來的位置,依舊可以發(fā)生點(diǎn)擊事件,而屬性動(dòng)畫卻不是。因此我們可以確定,屬性動(dòng)畫才是真正的實(shí)現(xiàn)了view的移動(dòng),補(bǔ)間動(dòng)畫對view的移動(dòng)更像是在不同地方繪制了一個(gè)影子,實(shí)際的對象還是處于原來的地方。
??當(dāng)我們把動(dòng)畫的repeatCount設(shè)置為無限循環(huán)時(shí),如果在Activity退出時(shí)沒有及時(shí)將動(dòng)畫停止,屬性動(dòng)畫會(huì)導(dǎo)致Activity無法釋放而導(dǎo)致內(nèi)存泄漏,而補(bǔ)間動(dòng)畫卻沒有問題。因此,使用屬性動(dòng)畫時(shí)切記在Activity執(zhí)行 onStop 方法時(shí)順便將動(dòng)畫停止。
??xml 文件實(shí)現(xiàn)的補(bǔ)間動(dòng)畫,復(fù)用率極高。在Activity切換,窗口彈出時(shí)等情景中有著很好的效果。
??使用幀動(dòng)畫時(shí)需要注意,不要使用過多特別大的圖,容易導(dǎo)致內(nèi)存不足。
內(nèi)容詳解
1、Carson_Ho : Android 屬性動(dòng)畫[http://www.itdecent.cn/p/2412d00a0ce4]
2、啟艦:Animation動(dòng)畫詳解[https://blog.csdn.net/harvic880925/column/info/harvic2animation]
3、guolin:Android屬性動(dòng)畫[https://blog.csdn.net/guolin_blog/article/details/43536355]

三、應(yīng)用

在一個(gè)Activity中切換fragment的動(dòng)畫效果

努力深耕Android的小透明
[http://www.itdecent.cn/p/c8bf0d13963e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【Android 動(dòng)畫】 動(dòng)畫分類補(bǔ)間動(dòng)畫(Tween動(dòng)畫)幀動(dòng)畫(Frame 動(dòng)畫)屬性動(dòng)畫(Property ...
    Rtia閱讀 6,380評論 1 38
  • Animation Animation類是所有動(dòng)畫(scale、alpha、translate、rotate)的基...
    四月一號(hào)閱讀 2,023評論 0 10
  • 本文主要是針對android 中的動(dòng)畫進(jìn)行詳細(xì)描述,并簡單分析原理;一、概述Android動(dòng)畫分為三種:幀動(dòng)畫(F...
    暮染1閱讀 852評論 0 0
  • 1 背景 不能只分析源碼呀,分析的同時(shí)也要整理歸納基礎(chǔ)知識(shí),剛好有人微博私信讓全面說說Android的動(dòng)畫,所以今...
    未聞椛洺閱讀 2,844評論 0 10
  • 幽谷月,平澤溪,無棱山,合天地 長安君,臨別情,清酒話,三兩三 展扶桑,望君歸,長城長,黃河寬
    Cat33閱讀 133評論 0 0

友情鏈接更多精彩內(nèi)容