构建应用程序架构(活动和片段)的最佳方式是啥

Posted

技术标签:

【中文标题】构建应用程序架构(活动和片段)的最佳方式是啥【英文标题】:What is the best way to build app architecture( activities and fragments)构建应用程序架构(活动和片段)的最佳方式是什么 【发布时间】:2015-06-25 13:16:28 【问题描述】:

我现在正在构建应用程序。我正在尝试遵循所有设计模式和谷歌建议来构建响应式应用程序。 首先,我的应用程序将包含导航抽屉。当然,我的应用程序将有几个活动。所以我已经搜索了在所有活动上使用导航抽屉的最佳方法,我发现最正确的方法是使用一些 BaseActivity 类,该类将在其布局和框架中使用导航抽屉来存储每个活动表示(片段的容器)。它可以容纳fragment,但问题是只有一个fragment。

所以我遇到了这个问题。我要设计以下活动

所以在图片中,我想在顶部放置图像滑块,并在此滑块下放置一些其他布局部分,例如网格布局、列表或其他。

我认为将图像滑块和其他部分分开会更好,例如,当我的屏幕处于横向时,它应该被替换但其他的东西。

此外,其他活动也将有几个独立的部分,例如列表和任何其他小部件。

但就我的活动应该扩展 BaseActivity 类而言,它们将只有一个地方(容器)用于存储片段。

我试图想办法解决这个问题,我只有一个想法是在基本活动中创建几个框架布局(等于子活动上使用的最大片段)并根据需要将它们设置为可见和不可见,但这种方法伪装成唯一的隐藏问题的方法。

我不知道实现此类应用程序的最正确方法是什么,因此我需要更有经验的开发人员的帮助或建议,以正确构建我的应用程序并为用户带来良好的体验。

希望你能帮助我。 谢谢。

【问题讨论】:

【参考方案1】:

首先,BaseActivity 中的容器确实必须是 FrameLayout。例如,它可以很容易地成为LinearLayoutandroid:orientation="vertical",这样您添加到其中的所有片段都将堆叠在另一个之下。

每个片段本身也可以有其他嵌套片段(尽管这通常不是最佳实践,因为它通常表明一些糟糕的用户体验决策)。

他们都说,我想你只是使用我在这里提出的第一点。现在如果你选择这个,我会期待如何处理平板电脑和其他大屏幕的问题?处理它们的最佳方法是为您的BaseActivity 创建一个新的横向布局,其中片段容器可能不同,例如RelativeLayoutLinearLayoutorientation="horizontal" 等等。

祝你好运!

【讨论】:

运气和编程不能相处。 这里用错了词...运气,因为这个(或其他答案)将帮助他/她更好地理解问题:) 嘿嘿嘿,好吧伙计!确实!

以上是关于构建应用程序架构(活动和片段)的最佳方式是啥的主要内容,如果未能解决你的问题,请参考以下文章

设计“独立于平台”的 GWT 服务器的最佳方式是啥?

在片段和活动之间进行通信 - 最佳实践

在 Web 应用程序中获取构建信息的最佳方式是啥?

跟踪对象字段变化的最佳架构是啥?

通过推送通知处理我的应用程序徽章计数的最佳方式是啥?

在 SwiftUI 中装饰文本片段的最佳方法是啥?