我正在使用 Flow 和 Mortar 编写应用程序。当涉及到带有标签的视图寻呼机时,我无法弄清楚如何使用它。
我能想到的唯一方法是将 ViewPager 屏幕视为单个屏幕,并最终使用 Fragments 来构建它。但使用 Flow & Mortar 的全部意义在于摆脱 Fragment 并简化生命周期。
任何帮助表示赞赏。谢谢。
我正在使用 Flow 和 Mortar 编写应用程序。当涉及到带有标签的视图寻呼机时,我无法弄清楚如何使用它。
我能想到的唯一方法是将 ViewPager 屏幕视为单个屏幕,并最终使用 Fragments 来构建它。但使用 Flow & Mortar 的全部意义在于摆脱 Fragment 并简化生命周期。
任何帮助表示赞赏。谢谢。
我做了一个视图寻呼机示例,最新的 Mortar 和 Flow 版本(基于来自 Kirill Boyarshinov 的适配器)。
我不会复制答案中的代码,因为它太大而且可读性较差(如果它违反了 SO 规则,请告诉我,我会编辑答案)。
包含 viewpager 的屏幕: https ://github.com/lukaspili/Mortar-Flow-Dagger2-demo/blob/master/app/src/main/java/com/lukaspili/mortardemo/ui/screen/SlidesScreen.java
屏幕作为 viewpager 的页面: https ://github.com/lukaspili/Mortar-Flow-Dagger2-demo/blob/master/app/src/main/java/com/lukaspili/mortardemo/ui/screen/SlidePageScreen.java
我认为PagerAdapter是你要找的。它曾经通过覆盖将 View 直接绑定到 ViewPager 而不使用片段instantiateItem(ViewGroup, int)
。而 ViewGroup 是 ViewPager 的一个实例,您可以在其中使用 add 方法直接将 View 添加到其中。
我使用自定义 PagerAdapter 操作 Mortar 屏幕做了一个代码片段。你可以在这里找到它。但它与当前版本的 Mortar 已过时。希望能帮助到你 :)
到目前为止你有什么发现吗?我遇到了同样的情况,我在实现这一点时所做的是,我将 viewpager 的每个部分都视为一个视图,而不是像 Mortar 中使用的“屏幕”。
我基本上为每个部分和他们自己的演示者(定制)实现了我的自定义视图。这样就成功了,但我希望我可以在查看器中使用 Mortar 的更多概念。