Я только начал работать с Mono для Android, и у меня возникли проблемы с получением анимации перехода для работы на моем устройстве. В эмуляторе Android работает нормально.
Устройство HTC Sensation со всеми включенными анимациями.
Мои файлы анимации XML:
slide_in_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0%p" android:duration="200" android:startOffset="0" />
</set>
slide_out_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="200" />
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="200" android:startOffset="0" />
</set>
Анимация называется здесь:
Intent intent = new Intent(this, typeof(Activity2));
StartActivity(intent);
OverridePendingTransition(Resource.Animation.slide_in_right, Resource.Animation.slide_out_left);
В эмуляторе это приводит к смещению первого вида влево, в то время как новый вид скользит справа.
Когда я загружаю на устройство и запускаю его, скольжения нет, первый вид исчезает, а второй просто появляется на своем месте.
Я попытался закомментировать строку OverridePendingTransition, чтобы увидеть, работает ли переход с постепенным исчезновением, а скользящий - нет, но разницы не было. Таким образом, похоже, что проблема связана с OverridePendingTransition, а не с какой-либо отдельной частью анимации.
У меня нет других Android-устройств для тестирования, поэтому не знаю, является ли это конкретной проблемой HTC.
Вся анимация включена в настройках устройства; Кажется, у Facebook и других приложений нет проблем с перемещением между представлениями.
Любая помощь будет высоко ценится.
Bryan.