2017-06-29 5 views
0

Ich bin mir bewusst, dass diese Frage schon einmal gestellt wurde, aber die meisten von ihnen sind vor über einem Jahr und ich frage mich, ob das Problem immer noch besteht.Xamarin Forms Benutzerdefinierte Navigationsübergänge

Bietet Xamarin Forms weiterhin keine Unterstützung für benutzerdefinierte Navigationsseitenübergänge?

Ich weiß, dass Sie Animationen in den nativen Anwendungen gut machen können, aber meiner Forschung nach scheint Xamarin Forms entweder einen benutzerdefinierten Renderer oder ein Paket für einen einfachen benutzerdefinierten Seitenübergang zu benötigen. Hat sich das überhaupt geändert oder ist das immer noch die Norm? Hoffentlich haben sie eine Form der Unterstützung hinzugefügt, seit diese Threads gefragt wurden.

Dank

+0

AFAIK bis vor kurzem wurde dies nicht von Xamarin Formen unterstützt. Alexandr Nikulin hat eine Komponente geschrieben, die das aber kann; https://github.com/AlexandrNikulin/AnimationNavigationPage –

Antwort

0

Xamarin.Forms hat nicht die Fähigkeit, das zu tun, aber es gibt eine Abhilfe.

Wenn Sie den Animationsübergang beim Drücken oder Öffnen von Seiten deaktivieren, können Sie Ihre benutzerdefinierte Animation vor/nach dem Übergang ausführen.

Wie so:

// First animate the opacity of the current page 
new Animation(opacity => page.Opacity = opacity/100, 100, 0) 
    .Commit(this, "PageExitAnimation", 1, 350, Easing.CubicInOut, (d, b) => 
    { 
     var otherPage = new OtherPage() { Opacity = 0 }; // Create the page with 0 opacity to animate later 
     NavigationPage.Navigation.PushAsync(otherPage, false); // Push the new page, as the current page is already with 0 opacity, without animation 
     otherPage.FadeTo(1, 350, Easing.CubicInOut); // Animate the fade of the next page 
    } 

können Sie dieses Konzept anwenden, jede Art von Animation zu tun, nur anstatt die Opazität ändern, ändern Sie die TranslationY, TranslationX, etc. Und wenn Sie eine komplexe Animation möchten, können Sie ändern können mehr als eine zu zugleich, nehmen Sie nur Ihre Zeit Xamarin.Forms Animation und du bist gut zu lernen :)

Hoffnung zu gehen, das hilft! : D