Во-первых, я новичок в программировании на Xamarin для Android, а также в Android-программировании в целом. Я успешно запустить следующий код с ожидаемым эффектом:OverridePendingTransition не работает странно?
//in the context of the main Activity
StartActivity(someIntent);
OverridePendingTransition(Android.Resource.Animation.SlideInLeft,
Android.Resource.Animation.SlideOutRight);
Теперь я хотел бы создать свои собственные анимации для раздвижных слева и выскальзывания справа с помощью декларации XML. Я помещал свои файлы XML под каталогом с именами slideInLeft.xml
и slideOutRight.xml
соответственно. Вот содержимое файлов:
slideInLeft.xml:
<?xml version="1.0" encoding="utf-8" ?>
<translate xmlns:android="http://schemes.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="-100%"
android:toXDelta="0%">
</translate>
slideOutRight.xml:
<?xml version="1.0" encoding="utf-8" ?>
<translate xmlns:android="http://schemes.android.com/apk/res/android"
android:duration="350"
android:fromXDelta="0%"
android:toXDelta="100%">
</translate>
Теперь код просто изменен следующим образом:
//in the context of the main Activity
StartActivity(someIntent);
OverridePendingTransition(Resource.Animation.SlideInLeft,
Resource.Animation.SlideOutRight);
Но анимация не работает, новая активность отображается только после небольшой задержки (похоже, что она равна длительности скольжения, в которой находится 300ms
).
Это меня смущает. Я не знаю, почему и как это сделать. Я считаю, что Java-разработчик Android может помочь с этой проблемой, а не только с помощью использования Xamarin.
Большое вам спасибо за помощь!
Ну, может быть, у вас есть попробовал это сам и убедился, что это работает. Однако мой код также должен работать ***, если *** я исправлю очень маленькую опечатку, которая является *** схемами ***, тогда как это должно быть *** схемами ***. В любом случае, спасибо за вашу помощь, по крайней мере, я увидел эту опечатку из вашего ответа :) – Hopeless
Отлично! хорошего дня! – himanshu1496