LINUX.ORG.RU

Эфект перехода между страницами. QML 2.0

 , ,


0

1

Вечер добрый, подскажите как реализовать след-ю задумку:

Есть основной экран tap_screen.qml А также есть меню приложения в файле main_menu.qml

Нужно по умолчанию выводить интерфейс tap_screen.qml, но как только был совершен TAP по экрану, нужно отобразить меню main_menu.qml, так вот как лучше всего это реализовать, а главное какими методами, чтобы между переходами был след-й эффект: tap_screen.qml - становится прозрачным, а из под него проявляется основное меню. Все что я добился, так это только swipe вверх экрана tap_screen.qml.

import QtQuick 2.0
import QtQml.Models 2.1
import QtGraphicalEffects 1.0

Rectangle {
    id: root
    color: "transparent"
    width: 1200
    height: 1920
    property bool printDestruction: false
    property int slide: 0


    ObjectModel {
        id: itemModel
        StartScreen {

        }
        Rectangle {
            id: myScreen2
            color: "red"
            width: 1200
            height: 1920
        }

    }

    ListView {
        id: view
        currentIndex: slide
        anchors { fill: parent; }
        model: itemModel
        spacing: 0
        //preferredHighlightBegin: 0; preferredHighlightEnd: 1
        //highlightRangeMode: ListView.StrictlyEnforceRange
        orientation: ListView.Vertical
        snapMode: ListView.SnapOneItem; flickDeceleration: 2000
        cacheBuffer: 0
        interactive: false
        highlightFollowsCurrentItem: true
        highlightMoveDuration: 1000
    }

}


Последнее исправление: CYB3R (всего исправлений: 2)

С помощью State можно переключить видимость экранов, с помощью Transition можно сделать переход между разными состояниями анимированным. Анимация по свойству opacity вполне допустима и должна сработать, в конце анимации меняется visibility (чтобы не нагружать QML лишним рендерингом и рассчётами).

quiet_readonly ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.