O MVXandroidViewPresenter e o MVXFormSDROIDPAGEPRESENTER são usados no MVVMCROSS para aplicativos Android, mas servem a propósitos diferentes e são projetados para lidar com diferentes tipos de visualizações.
MVXANDROIDVIEWPRESTER
- Objetivo: Este apresentador faz parte da estrutura MVVMCROSS e é projetado especificamente para lidar com vistas nativas do Android. Ele suporta vários padrões de navegação, como atividades, fragmentos, fragmentos aninhados, fragmentos de diálogo e layouts mais complexos, como NavigationDrawer e BottomNavigationBar [3] [6].
- Funcionalidade: atua como uma ponte entre os viewmodels e as vistas nativas do Android, permitindo a personalização dos atributos de apresentação. Os desenvolvedores podem estender este apresentador para implementar estratégias de navegação personalizadas, substituindo seus métodos ou adicionando novos atributos de apresentação [3] [6].
- Uso: normalmente usado em aplicativos Android MVVMCROSS puros, onde as vistas nativas são preferidas nas páginas Xamarin.Forms.
mvxformsdroidPagePresenter
- Objetivo: Este apresentador é usado em aplicativos MVVMCROSS que integram as páginas Xamarin.Forms. Ele foi projetado para lidar com a apresentação de páginas Xamarin.Forms dentro de um aplicativo Android [5] [8].
- Funcionalidade: funciona convertendo as páginas Xamarin.Forms em visualizações nativas do Android e gerenciando seu ciclo de vida. É menos flexível que o MVXandroidViewPresenter em termos de padrões nativos de navegação Android, mas é essencial para integrar o Xamarin.forms nos projetos do Android MVVMcross [5] [8].
- Uso: usado em aplicações híbridas em que as visualizações nativas do Android e as páginas Xamarin.Forms coexistem. Requer a implementação da lógica personalizada para lidar com a navegação entre as páginas Xamarin.Forms e as visualizações nativas, pois não suporta diretamente todos os recursos nativos de navegação Android [5] [8].
Em resumo, o MVXandroidViewPresenter é ideal para aplicações usando visualizações nativas do Android, oferecendo uma extensa personalização e suporte para vários padrões de navegação específicos para Android. Por outro lado, o MVXFormSDroidPagePresenter é usado ao integrar as páginas Xamarin.Forms em um aplicativo MVVMCROSS Android, fornecendo uma maneira de exibir as páginas de formulários como visualizações nativas, mas com recursos limitados de navegação nativa.
Citações:[1] https://michaelridland.com/category/xamarin/page/3/
[2] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-ativity-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-xamarin-mvvmcross-forms-preventing-back-on-android