【问题标题】:How should i structure my app?我应该如何构建我的应用程序?
【发布时间】:2013-09-25 00:32:11
【问题描述】:

我的 android 应用目前使用有四个选项卡的 TabActivity。我还使用了第三方导航抽屉,它提供了一种更简单的方式来导航到这四个选项卡。我知道,当我们有标签时,为什么还要有一个导航抽屉呢?这是我的组织想要的。该应用程序目前也不支持平板电脑。

现在是时候从头开始重做我们的应用了。这次我们也需要添加对平板电脑的支持。我一直在看google和fragments提供的新的Navigation Drawer。因为 TabActivity 已被弃用,我们不想再使用它,谷歌建议我们改用片段。 google 提供的导航抽屉和片段等工具是非常强大的工具,但我很难构建我的应用程序。

该应用程序有四个主要选项卡,所有这些选项卡都需要有一个导航抽屉。但是,这需要一个普通的导航抽屉,在此导航中显示的项目不仅包含导航到这四个显示的链接,而且还添加了其他功能。

从附图中可以看出,四个选项卡中有三个直接以 ListActivity 开头。它们需要是 3 个不同的活动,因为它们都包含不同的信息,并且用户必须能够从一个活动转到另一个活动。

当用户点击列表中的某个项目时,它会将他们带到详细视图(Detail Activity)。此详细活动还需要具有与父活动 (ListActivity) 相同的导航抽屉。最重要的是,此视图将向导航抽屉添加 4 个新动作。这个视图还需要有一个从右向左打开的抽屉。

如果用户通过浏览所有四个选项卡处于详细视图(详细活动)中,则用户应该能够看到不同的数据,具体取决于他们在 listActivity 上单击的项目。

我在想我会使用一个包含导航抽屉的抽象基活动类来做到这一点,并且所有活动都将使用它们。我还打算使用主/详细流模式,以便它适用于手机和平板电脑。然而,在我发现我无法扩展基本活动以使用导航抽屉后,这个计划被否决了。

在这一点上,我不知道该怎么做。任何建议将不胜感激。

【问题讨论】:

    标签: android android-fragments navigation tabactivity drawerlayout


    【解决方案1】:

    你的想法是错误的。您构建应用程序的方式是基于预片段(每个屏幕的活动)。相反,您应该只在有新的交互流程时才进行新的活动(我没有注意到您所描述的任何内容)。所以基本上我会为每个屏幕使用一个片段,并使它们尽可能抽象,以便您可以重复使用它们。在这种情况下,您将只有一个活动,并且您只是在切换片段。这使得实现统一的抽屉式导航变得更加容易(并且确实是您应该这样做的唯一方法)。

    希望对您有所帮助,很高兴与您澄清任何事情。我记得当我第一次切换到 Fragment 时,我很困惑,但它要容易得多,尤其是当您开始为手机和平板电脑进行开发时。

    【讨论】:

    • 所以,我应该有 1 个活动同时保存导航抽屉的左右,并且我应该根据我想要列表片段还是详细信息片段不断替换一个片段。当细节片段可见时,我应该显示正确的导航抽屉,否则我应该显示它。这是你的建议吗?如果是这样,那么您如何建议管理平板电脑应用程序?我可以看到片段将如何有用,但现在很难将所有内容可视化。
    • 这是正确的,尽管我建议使用某种类型的库来使用导航抽屉,因为它可以更简单地切换哪些是活动的。至于平板兼容性,尽量不要去想如何让应用适配平板,而是重新设计你的用户界面,就好像没有手机界面一样。然后找出您可以从手机布局中重复使用哪些部分并将它们用作片段。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2010-09-05
    • 2011-10-05
    • 1970-01-01
    相关资源
    最近更新 更多