啦啦爱在线观看免费视频6_花季传媒3.072_美女跪下吃男人j8免费视频_别揉我胸嗯啊

十三年專注于網(wǎng)站建設(shè)與互聯(lián)網(wǎng)應(yīng)用開發(fā),低調(diào)、有情懷的網(wǎng)絡(luò)應(yīng)用服務(wù)商!
南昌百恒科技微信公眾號 掃一掃關(guān)注
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒科技微信公眾號

安卓開發(fā)之播放多個動畫詳解

百恒網(wǎng)絡(luò) 2018-12-14 16:28:38 2872
? ? ? ?有時候,在南昌APP開發(fā)項目中需要同時執(zhí)行一些動畫。其實這很簡單,同時調(diào)用start()方法就行了。

? ? ? ?但是,如果要像編排舞步那樣編排多個動畫的執(zhí)行,事情就沒那么簡單了。例如,為實現(xiàn)完整的日落景象,太陽落下去之后,天空應(yīng)該從橘黃色再轉(zhuǎn)為午夜藍。我們可以使用AnimatorListener,AnimatorListener會讓你知道動畫什么時候結(jié)束。這樣,執(zhí)行完第一個動畫,我們就可以接力執(zhí)行第二個夜空變化的動畫。

? ? ? ?然而,理論分析很簡單,實際去做的話,少不了要準備多個監(jiān)ting器,這也很麻煩。好在Android還設(shè)計了方便又簡單的AnimatorSet。下面百恒網(wǎng)絡(luò)就來帶大家了解一下。

? ? ? ?首先,如下代碼清單所示,刪除掉原來的動畫啟動代碼,并添加夜空變化的動畫代碼。

? ? ? ?創(chuàng)建夜空動畫(SunsetFragment.java)
? ? ? ?private void startAnimation() {
? ? ? ?...
? ? ? ?sunsetSkyAnimator.setEvaluator(new ArgbEvaluator());
? ? ? ?ObjectAnimator nightSkyAnimator = ObjectAnimator
? ? ? ?.ofInt(mSkyView, "backgroundColor", mSunsetSkyColor, mNightSkyColor)
? ? ? ?.setDuration(1500);
? ? ? ?nightSkyAnimator.setEvaluator(new ArgbEvaluator());
? ? ? ?heightAnimator.start();
? ? ? ?sunsetSkyAnimator.start();
? ? ? ?}

? ? ? ?然后,創(chuàng)建并執(zhí)行一個動畫集,如下代碼清單所示。

? ? ? ?創(chuàng)建動畫集(SunsetFragment.java)
? ? ? ?private void startAnimation() {
? ? ? ?...
? ? ? ?ObjectAnimator nightSkyAnimator = ObjectAnimator
? ? ? ?.ofInt(mSkyView, "backgroundColor", mSunsetSkyColor, mNightSkyColor)
? ? ? ?.setDuration(1500);
? ? ? ?nightSkyAnimator.setEvaluator(new ArgbEvaluator());
? ? ? ?AnimatorSet animatorSet = new AnimatorSet();
? ? ? ?animatorSet
? ? ? ?.play(heightAnimator)
? ? ? ?.with(sunsetSkyAnimator)
? ? ? ?.before(nightSkyAnimator);
? ? ? ?animatorSet.start();
? ? ? ?}

? ? ? ?說白了,AnimatorSet就是可以放在一起執(zhí)行的動畫集。可以用好幾種方式創(chuàng)建動畫集,但使用上述代碼中的play(Animator)方法更容易。

? ? ? ?調(diào)用play(Animator)方法之前,要先創(chuàng)建一個AnimatorSet.Builder對象,然后利用它創(chuàng)建鏈式方法調(diào)用。傳入play(Animator)方法的Animator是鏈首。所以,以上代碼中的鏈式調(diào)用就可以這樣解讀:協(xié)同執(zhí)行heightAnimator和sunsetSkyAnimator動畫;在nightSkyAnimator之前執(zhí)行heightAnimator動畫。在實際南昌APP開發(fā)中,可能會用到更復雜的動畫集。這也沒問題,需要的話,可以多次調(diào)用play(Animator)方法。

? ? ? ?再次運行Sunset應(yīng)用,就可以欣賞這美麗的動畫了。
400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
售后服務(wù) 售后服務(wù)
 
×