一、動(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)畫分類

逐幀動(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]