在開發(fā)Android的Animator時遇到如下問題:
10余年的烏當(dāng)網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整烏當(dāng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“烏當(dāng)網(wǎng)站設(shè)計”,“烏當(dāng)網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1. 關(guān)于Animator的循環(huán)播放:
在Animator動畫中有循環(huán)的設(shè)置方法setRepeatCount(ValueAnimator.INFINITE) , 而對于AnimatorSet需要實現(xiàn)循環(huán)播放,實現(xiàn)方法如下代碼:
private AtomicBoolean isStart = new AtomicBoolean(false);
animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { if (isStart.get()) { animation.start(); } } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); animatorSet.start(); public void stopRecognizerViewAnim() { isStart.set(false); }
2 . 關(guān)于View的縮放:
對于View的縮放一般使用scale。如果縮放的是GroupView,則內(nèi)部的組件也隨著縮放。如果不希望縮放內(nèi)部的view,而僅僅是寬度或高度的縮放, 實現(xiàn)方法如下代碼:
mAnimatorSet = new AnimatorSet(); ValueAnimator height = ValueAnimator.ofObject(new WidthEvaluator(), mCurrWidth, mPreWidth); height.setDuration(DURATION); mAnimatorSet.playTogether(height); mAnimatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); mAnimatorSet.start();
private class WidthEvaluator extends IntEvaluator { @Override public Integer evaluate(float fraction, Integer startValue, Integer endValue) { int value = super.evaluate(fraction, startValue, endValue); ViewGroup.LayoutParams layoutParams = getLayoutParams(); layoutParams.width = value; setLayoutParams(layoutParams); return value; } }
3. 如果同一個AnimatorSet中多個Animator需要設(shè)置before() 或者after() ,不能再同一個AnimatorSet中設(shè)置多個before() 或者after()。例如: play(AAnimator).before(BAnimator).before(CAnimator).. 是錯誤的。 這個是我個人的理解,如果不正確,請留言告知。
文章名稱:Android動畫Animator開發(fā)問題
當(dāng)前URL:http://www.muchs.cn/article24/ghjhce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站策劃、微信公眾號、網(wǎng)站維護、小程序開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)