Фон анимации Android (поворот, перевод)
Я делаю свою первую маленькую игру. Я использую анимацию поворота, предоставленную Android. Я пишу этот код в каждом файле класса:
this.overridePendingTransition(R.anim.rotate, R.anim.translate);
это лучший способ или я могу установить это где-то для всего моего приложения? А также, если я использую эту анимацию, новая активность очень хорошо "поворачивается" на экране, но фон становится черным. (Думаю, из-за анимации перевода?!) Как я могу настроить свой собственный фон?
код из анимации перевода:
<?xml version="1.0" encoding="utf-8"?>
<translate>
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="200%"
android:toXDelta="0%"
android:fromYDelta="200%"
android:toYDelta="0%"
android:duration="1000"
android:zAdjustment="top" />
и анимация поворота:
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="90"
android:toDegrees="0"
android:pivotX="-5%"
android:pivotY="5%p"
android:duration="1000" />
1 ответ
абстракция
Текущий способ у вас это:
overridePendingTransition(R.anim.rotate, R.anim.translate);
Лучший способ установить это - либо через абстрактный Activity
или композиция, которая больше связана с практикой программирования, чем Android.
Короткое время:
public abstract BaseActivity extends FragmentActivity{
@Override
protected onCreate(Bundle savedInstance){
overridePendingTransition(R.anim.rotate, R.anim.translate);
}
}
Тогда ваш бетон Activity
расширяет это.
public class MyActivity extends BaseActivity{}
Анимация
Таким образом, текущая настройка означает, что ваш новый Activity
Повернется, и ваша старая активность (должна) перевести.
Видно, что перевод вашей старой активности из (не в) анимации немного неправильный. Правильная анимация перевода для перевода будет выглядеть примерно так:
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0%"
android:toXDelta="100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="1000" />
Который будет переводить текущую деятельность с центрального экрана на слайд вправо.
Также игнорируйте zAdjustment
по умолчанию ваша новая активность начинается поверх старой, вы не хотите оставлять старую сверху.