Фрагментные переходы, определенные в xml, не работают - PullRequest
0 голосов
/ 15 января 2019

Я добавил фрагменты переходов в values-21 / styles.xml следующим образом:

    <item name="android:fragmentEnterTransition">@transition/window_enter</item>
    <item name="android:fragmentExitTransition">@transition/window_exit</item>
    <item name="android:fragmentReturnTransition">@transition/window_return</item>
    <item name="android:fragmentReenterTransition">@transition/window_reenter</item>

transition / window_enter.xml :

<?xml version="1.0" encoding="utf-8"?>
<slide />

transition / window_exit :

<?xml version="1.0" encoding="utf-8"?>
<slide/>

transition / window_return :

<?xml version="1.0" encoding="utf-8"?>
<explode/>

переход / window_reenter

<?xml version="1.0" encoding="utf-8"?>
<explode/>

Я добавляю фрагменты с обычной транзакцией фрагмента. Я не применяю никаких вызовов API переходов в фрагментном коде, таком как fragment.setEnterTransition(), так как ожидаю, что переходы будут применяться автоматически с учетом переходов, определенных в styles.xml. Я понятия не имею, что не так. Документация Android не говорит много с фрагментными переходами.

1 Ответ

0 голосов
/ 01 февраля 2019

Полагаю, вы не указали значение продолжительности. Ниже приведен пример слайд-перехода

 <?xml version="1.0" encoding="utf-8"?>
 <transitionSet
 xmlns:android="http://schemas.android.com/apk/res/android">
     <Slide android:duration="10000">
        <targets>
            <target android:targetId="@+id/timer_clockView" />
            <target android:targetId="@+id/ic_wifi" />
            <target android:targetId="@+id/ic_lock" />
            <target android:targetId="@+id/ic_volume" />
        </targets>
     </Slide>
</transitionSet>

Примечание: Убедитесь, что вы используете android.support.v4.app.Fragment, а не android.app.Fragment, последний будет исключен из Android в ближайшем будущем.

...