Xamarin.Forms、Prism.Forms、Android Lollipop 5.1.1,导航 transitions/animations

Xamarin.Forms, Prism.Forms, Android Lolliop 5.1.1, Navigation transitions/animations

在 Android 5.1.1 (Lollipop) 设备上将 Xamarin.Forms 与 Prism.Forms (Unity) 结合使用时出现问题。

具体来说,如果我使用 "animation: true" 导航 to/from 表单,这些表单之后并不总是能正常工作 - 具体来说,表单并不总是响应 PropertyChanged 事件而更新。这些表格在 Android 6.0 和 7.1(我唯一可用于测试的其他设备)上完美运行。

如果我将所有调用更改为 INavigationService.NavigateAsync 以便 "animation" 为假,只要我不使用硬件 "back" 按钮退出形式(因为这会再次动画)。我什至创建了一个 "UnityPageNavigationService" 的覆盖,它在调用 "DoPop"、"DoPush" 和 "GoBackAsync" 时覆盖了 "animated" 参数(我很确定 NavigateAsync方法最终会为所有要求调用其中之一,但更改 MasterDetailPage 内容的情况除外)。

I am pretty sure that this is a Xamarin problem and not a Prism problem as having looked through the code on GitHub it appears to me that the Prism INavigationService implementation eventually comes back to the Page.Navigation.PushAsync(...) etc. methods and I am also pretty sure that the Prism navigation service is not intercepting the back button and interacting with it.

我正在使用 Xamarin Forms 2.3.4.231、Prism.Forms 6.3 和 Prism.Unity.Forms 6.3。

我最终解决了这个问题,它与 Prism Navigation 和 Xamarin.Forms 无关,而是由于 AndroidManifest.xml 的元素不是该元素的第一个子元素引起的。

我已经按字母顺序对元素的子元素进行排序,使最后一个元素成为最后一个元素,这破坏了它(尽管在 Android 的更高版本中没有)。