本篇文章給大家分享的是有關(guān)怎么在Android應(yīng)用中實(shí)現(xiàn)一個(gè)動(dòng)畫效果,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
創(chuàng)新互聯(lián)的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、電商網(wǎng)站開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā)。
Android 三種動(dòng)畫詳解
幀動(dòng)畫
一張張圖片不斷的切換,形成動(dòng)畫效果
在drawable目錄下定義xml文件,子節(jié)點(diǎn)為animation-list,在這里定義要顯示的圖片和每張圖片的顯示時(shí)長(zhǎng)
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/g1" android:duration="200" /> <item android:drawable="@drawable/g2" android:duration="200" /> <item android:drawable="@drawable/g3" 、 android:duration="200" /> </animation-list>
在屏幕上播放幀動(dòng)畫
ImageView iv = (ImageView) findViewById(R.id.iv); //把動(dòng)畫文件設(shè)置為imageView的背景 iv.setBackgroundResource(R.drawable.animations); AnimationDrawable ad = (AnimationDrawable) iv.getBackground(); //播放動(dòng)畫 ad.start();
補(bǔ)間動(dòng)畫
位移:
//創(chuàng)建為位移動(dòng)畫對(duì)象,設(shè)置動(dòng)畫的初始位置和結(jié)束位置 TranslateAnimation ta = new TranslateAnimation(10, 150, 20, 140);
TranslateAnimation ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 2, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 2);
動(dòng)畫播放相關(guān)的設(shè)置
//設(shè)置動(dòng)畫持續(xù)時(shí)間 ta.setDuration(2000); //動(dòng)畫重復(fù)播放的次數(shù) ta.setRepeatCount(1); //動(dòng)畫重復(fù)播放的模式 ta.setRepeatMode(Animation.REVERSE); //動(dòng)畫播放完畢后,組件停留在動(dòng)畫結(jié)束的位置上 ta.setFillAfter(true); //播放動(dòng)畫 iv.startAnimation(ta);
縮放:
ScaleAnimation sa = new ScaleAnimation(0.1f, 4, 0.1f, 4);
ScaleAnimation sa = new ScaleAnimation(0.1f, 4, 0.1f, 4, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
透明:
0為完全透明,1為完全不透明
AlphaAnimation aa = new AlphaAnimation(0, 0.5f);
旋轉(zhuǎn):
RotateAnimation ra = new RotateAnimation(20, 360);
RotateAnimation ra = new RotateAnimation(20, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
所有動(dòng)畫一起飛
//創(chuàng)建動(dòng)畫集合 AnimationSet set = new AnimationSet(false); //往集合中添加動(dòng)畫 set.addAnimation(aa); set.addAnimation(sa); set.addAnimation(ra); iv.startAnimation(set);
屬性動(dòng)畫
位移:
//具有g(shù)et、set方法的成員變量就稱為屬性 ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 100) ;
縮放:
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "scaleY", 0.1f, 2);
透明:
透明度,0是完全透明,1是完全不透明
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "alpha", 0.1f, 1);
旋轉(zhuǎn)
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "rotation", 20, 270);
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "rotationY", 20, 180);
可變參數(shù)
第三個(gè)參數(shù)可變參數(shù)可以傳入多個(gè)參數(shù),可以實(shí)現(xiàn)往回位移(旋轉(zhuǎn)、縮放、透明)
ObjectAnimator oa = ObjectAnimator.ofFloat(bt, "translationX", 0, 70, 30, 100) ;
所有動(dòng)畫一起飛
//創(chuàng)建動(dòng)畫師集合 AnimatorSet set = new AnimatorSet(); //設(shè)置要播放動(dòng)畫的組件 set.setTarget(bt); //所有動(dòng)畫有先后順序的播放 //set.playSequentially(oa, oa2, oa3, oa4); //所有動(dòng)畫一起播放 set.playTogether(oa, oa2, oa3, oa4); set.start();
以上就是怎么在Android應(yīng)用中實(shí)現(xiàn)一個(gè)動(dòng)畫效果,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:怎么在Android應(yīng)用中實(shí)現(xiàn)一個(gè)動(dòng)畫效果
URL標(biāo)題:http://aaarwkj.com/article10/ipohgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、、定制網(wǎng)站、定制開發(fā)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)