XMLで記述した場合はこうなります。
import android.app.Activity; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; public class MyClass extends Activity{ public void startAnimation(){ ImageView image = (ImageView)findViewById(R.id.animView); Animation anim = AnimationUtils.loadAnimation(this,R.anim.myAnim); // 即時アニメーション開始 image.startAnimation(anim); // android:startOffsetで設定された時間後に開始 image.setAnimation(anim); } }
res/anim/cycle.xml
<?xml version="1.0" encoding="utf-8"?> <cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="1" />
res/anim/myAnim.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/cycle" android:fillBefore="false" android:fillAfter="true" android:repeatMode="restart" // "restart" or "reverse" android:repeatCount="10" // "n" or "0"(リピートなし) or "-1"(永久) > <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" android:startOffset="1000" /> <rotate android:fromDegrees="0" android:toDegrees="360" android:pivotX="100" android:pivotY="100" /> <scale android:duration="10000" android:fromXScale="0.0" android:toXScale="0.1" android:fromYScale="0.0" android:toYScale="0.1" android:pivotX="100" android:pivotY="100" /> <translate // "%":RELATIVE_TO_SELF or "%p":RELATIVE_TO_PARENT android:fromXDelta="-100%p" android:toXDelta="0%p" android:fromYDelta="0%p" android:toYDelta="0%p" /> </set>
参考: Tweenアニメーション
参考: Frameアニメーション
コメント