Аниация View компонентов.
Исходные коды для для аниации View компонентов - увеличение, уменьшение.
В папке res создадим папку anim, в ней будем размещать файлы анимации.
Увеличение компонента
scale.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<scale
android:duration="1000"
android:fromXScale="0.1"
android:fromYScale="0.1"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="100"
android:toXScale="2.0"
android:toYScale="2.0" />
</set>
Уменьшение компонента
scale.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator" >
<scale
android:duration="1000"
android:fromXScale="2.0"
android:fromYScale="2.0"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="100"
android:toXScale="0.1"
android:toYScale="0.1" />
</set>
<scale>
- отвечает за масштаб.
android:duration
- длительность анимации (1000=1 сек).
android:fromXScale и android:fromYScale
- начальный масштаб.
android:toXScale и android:toYScale
- конечный масштаб.
android:pivotX и android:pivotY
- это центральная точка анимации. android:pivotX="50%" и android:pivotY="50%" будет означать, что масштабирование будет начинаться с центра.
android:startOffset
- начальное время смещения для этого эффекта, в миллисекундах
Код Java
private ImageView mImageView;
private Animation mAnimation;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = findViewById(R.id.imageView);
// подключаем файл анимации
mAnimation = AnimationUtils.loadAnimation(this, R.anim.scale);
// при запуск анимации
mImageView.startAnimation(mAnimation);
Появление компонента
alpha.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>
</alpha>
</set>
Исчезновение компонента
alpha.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.0"/>
</set>
<alpha>
- отвечает за прозрачность.
Переход между активностями
alpha1.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="1500"
android:fromAlpha="1.0"
android:toAlpha="0.0"/>
</set>
alpha2.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<alpha
android:duration="1500"
android:fromAlpha="0.0"
android:toAlpha="1.0"/>
</set>
Код Java
Intent intent = new Intent(getApplicationContext(), XActivity.class);
startActivityForResult(intent, 1);
overridePendingTransition(R.anim.alpha1,R.anim.alpha2);