我正在Android Studio中构建全屏应用程序。 我的应用程序代码受DRY和KIS原则的约束。 在开始的活动中,我设法使全屏代码都符合。 但是,对于某些事情,我需要一个新的活动,而新活动显然不是全屏的。我知道如何使用Intent开始新活动,但这不会 让我在约束下使用一个新的活动开始它。
我的想法是通过在启动活动中创建新活动的对象来使其保持干燥和简单,并将其包装(如Decorator模式)并将包装器传递给意图。包装器将包含代码以确保活动处于全屏状态。由于这两个原理,包装器是必需的。我还计划进行更多的全屏活动,以便将其重用。
事实证明,Intent根本无法接受Activity对象。
然后我的问题是:如何使用“活动”对象启动新活动? 或什至可以通过其他任何方式做类似但符合DRY和KIS的事情?
答案 0 :(得分:0)
我发现解决方案确实不可能是DRY和Simple。 全屏活动将继承抽象的“ FullscreenCompatActivity”类。他们必须先传递根View并使用setContent。 尽管继承保留了此DRY,但这并不简单,因为需要特定的调用。