本质就是平移动画
一、res/anim/cycle.xml
《cycleInterpolator
xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="2"/》
二、res/anim/myanim.xml
《set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/cycle" 》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="-10"
android:toYDelta="-10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="300"
android:toXDelta="10"
android:toYDelta="-10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="600"
android:toXDelta="-10"
android:toYDelta="10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="900"
android:toXDelta="10"
android:toYDelta="10" /》
《/set》
三、需要抖动的控件设置抖动
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.myanim);
控件对象.startAnimation(anim);
android:cycles="2"/》
二、res/anim/myanim.xml
《set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/cycle" 》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="-10"
android:toYDelta="-10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="300"
android:toXDelta="10"
android:toYDelta="-10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="600"
android:toXDelta="-10"
android:toYDelta="10" /》
《translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:startOffset="900"
android:toXDelta="10"
android:toYDelta="10" /》
《/set》
三、需要抖动的控件设置抖动
Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.myanim);
控件对象.startAnimation(anim);