Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MvxandroidViewPresenter和MvxFormSdroidPagePresenter之间的主要区别是什么


MvxandroidViewPresenter和MvxFormSdroidPagePresenter之间的主要区别是什么


MvxandroidViewPresenter和MvxFormSdroidPagePresenter均用于Android应用程序的MVVMCross,但它们具有不同的目的,旨在处理不同类型的视图。

mvxandroidviewpresenter

- 目的:该主持人是MVVMCross框架的一部分,专门设计用于处理本地Android视图。它支持各种导航模式,例如活动,片段,嵌套片段,对话框片段以及更复杂的布局,例如NavigationDrawer和BottomNavigationBar [3] [6]。
- 功能:它充当ViewModels和Native Android视图之间的桥梁,允许自定义演示属性。开发人员可以通过覆盖其方法或添加新的演示文稿属性[3] [6]来扩展该主持人以实现自定义导航策略。
- 用法:通常用于纯MVVMCROSS ANDROID应用中,其中本机视图比Xamarin.Forms Pages更优选。

mvxformsdroidPagePresenter

- 目的:该主持人用于集成Xamarin.forms页面的MVVMCross应用程序。它旨在处理Android应用程序中的Xamarin.Forms页面的表示[5] [8]。
- 功能:它可以通过将Xamarin.Forms页面转换为本地Android视图并管理其生命周期来起作用。就天然Android导航模式而言,它的灵活性不如MVXandroidViewPresenter,但对于将Xamarin.Forms集成到MVVMCross Android项目[5] [8]至关重要。
- 用法:用于本机android视图和xamarin.forms页面共存的混合应用中。它需要实现自定义逻辑来处理Xamarin.Forms页面和本机视图之间的导航,因为它不直接支持所有本机Android导航功能[5] [8]。

总而言之,MvxandroidViewPresenter非常适合使用本机Android视图的应用,可为各种Android特定的导航模式提供广泛的自定义和支持。相比之下,将Xamarin.Forms页面集成到MVVMCross Android应用程序时,使用mvxformSdroidPagePresenter,提供了一种将表单页面显示为本机视图但本机导航功能有限的方法。

引用:
[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-activity-application
[3] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter
[4] https://ridland2.rssing.com/chan-57660607/all_p1.html
[5] https://michaelridland.com/xamarin/mixing-xamarin-forms-mvvmcross-nativeviews/
[6] https://www.mvvmcross.com/documentation/fundamentals/view-presenters
[7] https://jessejiang.wordpress.com
[8] https://stackoverflow.com/questions/38181508/login-page-with-with-xamarin-mvvmcross-forms-prorms-preventing-back-navigation-navigation-on android