A Xamarin.Forms plugin enabling shared element transition animations between pages on iOS and Android.
Xamarin.Plugin.SharedTransitions is a plugin for Xamarin.Forms that enables shared element transition animations between pages on iOS and Android. It solves the problem of creating smooth, native-like navigation experiences by animating common visual elements (like images or layouts) from one page to another. This enhances the user experience in mobile apps with polished, engaging transitions.
Xamarin.Forms developers building cross-platform mobile apps for iOS and Android who want to implement advanced, visually appealing page transition animations.
Developers choose this plugin because it provides a simple, configurable way to add native-quality shared element transitions to Xamarin.Forms apps, which are not natively supported. It offers cross-platform compatibility, flexible navigation patterns, and fine-grained control over animations.
Shared Element Transitions between pages in Xamarin.Forms (IOS/Android)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables smooth shared element transitions that mimic iOS and Android native behaviors, as shown in the GIFs with images transitioning from lists to detail views.
Works on iOS 9+ and Android API 21+, including Android X for Xamarin.Forms 4.5+, ensuring compatibility with a wide range of devices.
Supports various Xamarin.Forms patterns like standard pages, tabbed, master-detail, and Shell, as demonstrated in the rewritten sample apps.
Specifically handles transitions between collections (ListView or CollectionView) and detail pages, with dynamic examples provided.
Requires setup in NetStandard and platforms projects, plus navigation configuration via wiki documentation, which can be cumbersome for quick implementations.
Android X support is tied to Xamarin.Forms 4.5+, potentially forcing updates or causing compatibility issues with older app versions.
Shared element transitions can be resource-intensive on lower-end devices or with complex UIs, as hinted in the limitations section of the wiki.