Режимы CardTransition прослушиваются? - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь использовать CardTransition в кивах.Я хочу, чтобы «OtherScreen» скользил справа, и когда вы вернетесь назад, он будет скользить назад.Я попробовал это с использованием «push» и «pop» в качестве режима

Я попытался использовать только «push», который работает, или только «pop», который также работает, но я не могу объединитьдва

'' '

MainScreen:
    name: 'main'

    FloatLayout:
        size: root.width, root.height
        canvas.before:
            Color:
                rgba: 1, 1, 1, 1
            Rectangle:
                size: root.width, root.height

        Button:
            text: '2D'
            size: root.height / 2.5, root.height / 2.5
            size_hint: None, None
            pos_hint: {'center_y': 0.75, 'center_x': 0.5}
            on_press:
                app.root.current = '2d'
                root.manager.transition.direction = "left"
                **root.manager.transition.mode = 'push'**       *# this is push*

            font_size: 50
            background_normal: 'ok.png'


OtherScreen:
    name: '2d'

    FloatLayout:
        size: root.width, root.height

        Button:
            on_press:
                app.root.current = 'main'
                root.manager.transition.direction = "right"
                **root.manager.transition.mode = 'pop'**     *# and this is pop*

            text: 'back'

' ''

После того, как я нажму первую кнопку, «OtherScreen» будет вставлен, но после этого анимация полностью исчезнет

1 Ответ

0 голосов
/ 06 мая 2019

первопричина

CardTransition работает не так, как вы ожидали, потому что в вашем приложении он переключал экран перед установкой направления.

Отрывки

        on_press:
            app.root.current = '2d'
            root.manager.transition.direction = "left"
        ...
        on_press:
            app.root.current = 'main'
            root.manager.transition.direction = "right"

Решение

  1. Установить направление перехода
  2. Экран переключения

Отрывки

        on_press:
            root.manager.transition.direction = "left"
            app.root.current = '2d'
        ...
        on_press:
            root.manager.transition.direction = "right"
            app.root.current = 'main'
...