本文實例講述了Android編程實現(xiàn)RotateAnimation設(shè)置中心點旋轉(zhuǎn)動畫效果。分享給大家供大家參考,具體如下:
在xml設(shè)置:
<?xml version="1.0" encoding="utf-8"?><rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="800" // 設(shè)置動畫持續(xù)時間 android:fromDegrees="0.0" // 設(shè)置動畫開始時的角度 android:interpolator="@android:anim/linear_interpolator" android:pivotX="50.0%" // 設(shè)置動畫相對于控件的x坐標的位置 android:pivotY="50.0%" // 設(shè)置動畫相對于控件的y坐標的位置 android:repeatCount="infinite" // 設(shè)置無線循環(huán) android:toDegrees="360.0" /> // 設(shè)置動畫結(jié)束時的旋轉(zhuǎn)角度
在代碼中設(shè)置,主要是x,y的坐標為中心點:
public void rotateAnim() { Animation anim =new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setFillAfter(true); // 設(shè)置保持動畫最后的狀態(tài) anim.setDuration(3000); // 設(shè)置動畫時間 anim.setInterpolator(new AccelerateInterpolator()); // 設(shè)置插入器 imageview.startAnimation(anim);}Android 動畫之Interpolator插入器,比較簡單和常用的:
(1)LinearInterpolator:動畫從開始到結(jié)束,變化率是線性變化。
(2)AccelerateInterpolator:動畫從開始到結(jié)束,變化率是一個加速的過程。
(3)DecelerateInterpolator:動畫從開始到結(jié)束,變化率是一個減速的過程。
(4)CycleInterpolator:動畫從開始到結(jié)束,變化率是循環(huán)給定次數(shù)的正弦曲線。
(5)AccelerateDecelerateInterpolator:動畫從開始到結(jié)束,變化率是先加速后減速的過程。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)動畫技巧匯總》、《Android開發(fā)入門與進階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
新聞熱點
疑難解答