首页 > 解决方案 > “单一活动架构” - 多个设备布局......我错过了什么?

问题描述

我目前正在编写应用程序,最近遇到了“单活动架构”,乍一看似乎很棒,使用fragments/SupportFragmentManager以编程方式将片段加载到“容器”中。

现在在实践中,我遇到了模式问题,即具有单独的设备布局。

例子

假设我们使用的是一个 Activity.kt 类,我们如何使用 FragmentManager 来实现上述功能?对所有设备/方向使用一个 Activity 类,代码似乎与布局过于耦合,无法实现该模式。您需要以下代码:

if layout == tablet AND Landscape -> do this fragment transaction
if layout == phone AND portrait -> do this fragment transaction
if layout == television AND landscape -> do this fragment transaction

它似乎很快变成了一种相当糟糕和混乱的“不可扩展”模式,而不是仅仅将片段放置在设备的各种 XML 布局文件中......

或者该模式真的只适用于简单的应用程序布局场景(比如手机)?

任何启蒙都会很棒。

参考链接:Reddit

参考链接:Android 开发者博客

标签: androidandroid-layoutandroid-fragmentsdesign-patternsandroid-jetpack

解决方案


推荐阅读