Czy jest obowiązkowe użycie Loader
?
Jeśli nie, możesz użyć StackView
(oczywiście o głębokości 1, jeśli nie chcesz zaoferować bardziej złożonej nawigacji) i załadować swoje komponenty, przesuwając je na stosie za pomocą zestawu opcji replace
na prawdę.
Mimo to, można uzyskać wynik prosicie w następujący sposób:
StackView {
delegate: StackViewDelegate {
function transitionFinished(properties) {
properties.exitItem.x = 0
}
pushTransition: StackViewTransition {
PropertyAnimation {
target: enterItem
property: "x"
from: enterItem.width
to: 0
}
PropertyAnimation {
target: exitItem
property: "x"
from: 0
to: -exitItem.width
}
}
}
}
przepraszam jeśli to nie działa, jak jest (choć powinno), ale jestem na telefon komórkowy telefon i nie możemy go teraz przetestować.
Dzięki. To działa, chociaż nie było tak miłe, jak myślałem. Nie jest to miłe podejście do dodawania animacji do komponentu programu ładującego. Czasami działa szybciej, a inne wolniej iz denerwującym opóźnieniem! Dzięki i tak. –
Możesz spróbować zmienić 'onSourceChanged' na' onStatusChanged' i uruchomić animację tylko wtedy, gdy 'status' to' Loader.Ready'? Bez kodu służącego do powielania powolności trudno jest zaoferować więcej porad. Możesz wkleić uproszczoną (ale wciąż "ciężką") wersję elementu ładowanego przez 'Loader', dzięki czemu mogę go wypróbować. – Mitch