Я сделал три XML-файла для перехода.
enter_from_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
none.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
exit_to_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="100%"
android:toYDelta="0%" />
</set>
Однако, он просто отлично работает в Activities
, а не в Fragments
.
Когда я нажимаю кнопку «назад», обратный переход (всплывающее) работает нормально. Но это не работает должным образом, когда я вызываю новый фрагмент. Он просто мигает при смене экрана.
Я попытался изменить продолжительность до 50 из none.xml
. И я вижу, что новый экран появляется с правой стороны. А также пробовал с 10000. Но это просто задерживает время смены.
Я использую компонент навигации. И я определил так:
<action
android:id="@+id/action_initFragment_to_settingFragment"
app:destination="@id/settingFragment"
app:enterAnim="@anim/enter_from_right"
app:exitAnim="@anim/none"
app:popExitAnim="@anim/exit_to_right"
app:popEnterAnim="@anim/none"/>
Что с ним не так?
Я думаю, что это из-за индекса Z. Есть ли способ дать атрибут индекса Z?