在Android 5.1.1(Lollipop)设备上将Xamarin.Forms与Prism.Forms(Unity)结合使用时出现问题。
具体来说,如果我使用"动画:true"导航到/来自表单。这些表单之后并不总是正常工作 - 具体而言,表单并不总是更新以响应PropertyChanged事件。这些表单在Android 6.0和7.1(我可用于测试的唯一其他设备)上完美运行。
如果我将所有调用都改为INavigationService.NavigateAsync,那么" animation"这是错误的,只要我不使用硬件,这些表格就会表现得很好"返回"按钮退出表单(然后再次动画)。我甚至创建了一个覆盖" UnityPageNavigationService"这会覆盖"动画"呼叫" DoPop"," DoPush"和" GoBackAsync" (我非常确定NavigateAsync方法最终会针对所有要求调用其中一个,除非更改MasterDetailPage的内容)。
我很确定这是一个Xamarin问题,而不是Prism 在我看来,在GitHub上查看代码的问题 Prism INavigationService实现最终会回来 到Page.Navigation.PushAsync(...)等方法,我也是 很确定Prism导航服务没有拦截 后退按钮并与之交互。
导航时是否有任何方法可以禁用动画 硬件后退按钮发起了什么?
有没有办法覆盖平台的INavigation实现(在本例中显然是Android)?
Xamarin Forms上是否存在已知问题和/或解决方法 棒棒糖5.1.1?
我正在使用Xamarin Forms 2.3.4.231,Prism.Forms 6.3和Prism.Unity.Forms 6.3。
答案 0 :(得分:0)
我最终解决了这个问题,它与Prism Navigation和Xamarin.Forms无关,而是由于AndroidManifest.xml的元素不是该元素的第一个子元素。
我按字母顺序对元素的子元素进行了排序,使得最后一个元素破坏了它(虽然不是在Android的更高版本中)。