Сначала создайте файл ресурсов типа анимации.Затем внутри xml добавьте следующую анимацию (spring.xml):
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:duration="2500"
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
, за 2,5 секунды кнопка изменится с половины до полного размера.Если вы хотите эффект весны, вам понадобится вспомогательный класс.Для многих моих программ я использовал следующее:
class MyInterpolator implements android.view.animation.Interpolator {
private double mAmplitude = 1;
private double mFrequency = 10;
MyBounceInterpolator(double amplitude, double frequency) {
mAmplitude = amplitude;
mFrequency = frequency;
}
public float getInterpolation(float time) {
return (float) (-1 * Math.pow(Math.E, -time/ mAmplitude) *
Math.cos(mFrequency * time) + 1);
}
}
, если вы хотите настроить анимацию программно, используйте следующий метод для вашей кнопки:
public void springView(View view) {
Button button = (Button)findViewById(R.id.button);
final Animation myAnimation = AnimationUtils.loadAnimation(this, R.anim.spring);
MyInterpolator interpolator = new MyInterpolator(0.1, 10);
myAnimation.setInterpolator(interpolator);
button.startAnimation(myAnimation);
}
В зависимости от того, как пружина- если вы хотите эту кнопку, увеличьте значения внутри нового MyInterpolator (0,1, 10).