Tween анимация - это анимация использующая промежуточные картинки и программные методы.
1) Создадим проект и добавим кнопку в центр.
2) Создадим новый XML файл tweenanimation.xml типа Tween Animation (параметр set - означает что мы можем задавать параметры для разных видов анимации) для описания анимации.
tweenanimation.xml
В Main.java добавляем:
1) Создадим проект и добавим кнопку в центр.
2) Создадим новый XML файл tweenanimation.xml типа Tween Animation (параметр set - означает что мы можем задавать параметры для разных видов анимации) для описания анимации.
Анимация scale
Параметры android:pivotX и android:pivotY обозначают центр анимации.tweenanimation.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="2.0" android:toXScale="0.5" android:fromYScale="2.0" android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%" android:duration="2000" /> </set>
В Main.java добавляем:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button but1 = (Button) findViewById(R.id.button1); but1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Animation anim1 = AnimationUtils.loadAnimation(Main.this, R.anim.tweenanimation); but1.startAnimation(anim1); } }); }
Анимация rotate
Пункт set позволяет описывать разные варианты анимации. interpolator позволяет ускорить или замедлить анимацию на устройстве (на эмуляторе не заметно).<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <scale android:fromXScale="2.0" android:toXScale="0.5" android:fromYScale="2.0" android:toYScale="0.5" android:pivotX="50%" android:pivotY="50%" android:duration="2000" /> <scale android:fromXScale="0.5" android:toXScale="2.0" android:fromYScale="0.5" android:toYScale="2.0" android:pivotX="50%" android:pivotY="50%" android:duration="2000" android:startOffset="2000" /> <rotate android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360" android:duration="2000" android:startOffset="4000" /> </set>