Редактировать: Итак, то, что вы пытаетесь сделать, это заноза в заднице ** (да, еще одна из тех вещей для Android, которые должны были быть простыми)! Наличие двух анимаций друг за другом просто не очень хорошо работает в более ранних версиях Android. В версиях never вы можете использовать набор анимаций из API уровня 11. Пример здесь. В качестве альтернативы я бы выбрал более простую анимацию.
Вот как сделать слайд-вход/выход для активности (старый ответ):
Слайд в левой деятельности:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"/>
Вставьте правильное действие:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p" android:toXDelta="0"
android:duration="@android:integer/config_shortAnimTime"/>
Выдвиньте левую активность:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="-100%p"
android:duration="@android:integer/config_shortAnimTime" />
Выдвиньте правильное действие:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="100%p"
android:duration="@android:integer/config_shortAnimTime" />
Пример использования:
Intent intent = new Intent(this, YourNewActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
Пример использования на спине:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
super.onBackPressed();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
}
return super.onKeyDown(keyCode, event);
}
person
Warpzit
schedule
08.11.2012