因此,假设我有一个Xamarin.Forms应用程序,一个具有以下布局的MainPage:
+------------------------------+
| |
| +-------+ +-------+ |
| | | | | |
| |Button1| |Button2| |
| | | | | |
| +-------+ +-------+ |
| |
+------------------------------+现在,在用户点击Button1之后,我希望页面转换为以下布局:
+------------------------------+
|---+ |
||B1| +-------+ +-------+ |
+---+ | | | | |
| |Button3| |Button4| |
+---+ | | | | |
||B2| +-------+ +-------+ |
|---+ |
+------------------------------+最棘手的是,我想要一个很好的动画转换,在这里:
是否有任何方法在xamarin.forms xaml中实现这样的行为?
我现在能想到的唯一方法是使用AbsoluteLayout并为按钮的初始位置(或它们的容器)设置像素的绝对值。并通过调用具有适当参数的每个元素TranslateTo和ScaleTo方法来进行转换,以设置目标布局。
但是如果我想要有更多的布局和它们之间的转换,并且支持更多的屏幕分辨率,我想这种方法可能很快就变得难以维护了。
如果我把这些布局放在单独的页面上,并在页面之间进行这样的自定义转换,我想这会变得更加困难,如果可能的话。
有什么方法吗?
发布于 2018-08-20 21:16:23
在NavigationPage容器中从第1页导航到第2页时,可以使用共享元素转换来移动内容。
我制作了一个nuget包来使用xamarin forms xaml中的共享动画转换,这里的源代码是:
https://github.com/Evolutionlab/Xamarin.Plugin.SharedTransitions
在这里,Nuget包裹:
https://www.nuget.org/packages/Xamarin.Plugin.SharedTransitions/
https://stackoverflow.com/questions/41710601
复制相似问题