【问题标题】:Android best practice - views/activitiesAndroid 最佳实践 - 视图/活动
【发布时间】:2011-12-26 21:51:30
【问题描述】:

刚开始 android 开发。首先,我正在构建一个功能类似于图库+图像查看器的应用程序,并添加了快速将图片移动到子文件夹的附加功能,以便对大量图片进行分类。

到目前为止,我有 2 个活动 - 全屏图像视图和全屏缩略图网格(用于多选目的)。

现在我是新手,我想知道这种双重活动是否是一个明智的决定。从图像视图切换到网格视图(反之亦然)时,简单地在内容视图之间切换会比启动完全不同的 Activity 更好吗?

我正在寻找的当然是明显的优点和缺点 - 性能、易用性和可用性。但是,如果其中一个或另一个有更基本的“模式”/最佳实践原因。

谢谢

【问题讨论】:

    标签: java android view android-activity


    【解决方案1】:

    活动正是为此目的而设计的。如果您愿意,您可以使用自定义布局引擎(重新加载组件等)将整个应用程序放在单个活动中,如果您想要一个“便携式”应用程序(例如,您开发一个具有通用各种平台的 UI,Andropid、Windows 7、iOS 等),但如果您只想使用 Android,首选方法是使用提供的 API,而不是重新发明轮子。它运行良好,并且会给用户一种舒适的体验一致性感(它的外观和感觉就像其他 Android 应用程序一样)。

    我正在进行的当前项目(游戏)已经有 10 种不同的活动,我正在计划更多......

    【讨论】:

      【解决方案2】:

      我认为您的双重活动方法是明智的。一般来说,Android Activity/View API 的结构是围绕每个 Activity 有一个固定的 View。虽然您可以在 Activity 的布局中操作视图,但我建议这应该仅限于隐藏/显示/移动视图,而不是替换整个布局。

      您可能应该考虑的是较新的Fragments API。这几乎可以被认为是“活动中的活动”。片段本质上允许您将 UI 的元素(布局和行为)包装在可重用的组件中。因此,在您的具体示例中,两个不同的 UI 可能是单个活动中的片段。

      这有几个好处,例如可以在其他活动中重用您的 UI,并且您可以制作时髦的过渡动画。

      【讨论】:

      • +1 用于 Fragments API,我还没有使用它,但它看起来非常好。谢谢。虽然只能从 API 级别 11(Android 3.0)获得,这意味着它对我来说是不行的。太糟糕了:(
      • 我对这个片段很感兴趣。我想做的一件事就是在图像视图和网格视图之间切换的动画——据我所知,我可以用片段来完成。在一个活动中同时拥有两个视图当然可以实现这一点,并且还允许我重用一些常见元素,如菜单、某些常见的文本视图等。但是,我喜欢将它们放置在单独的活动中的代码简化。
      • 实际上,您所说的简化(或封装)本质上与 Fragment 一样清晰。您的活动只是成为片段的容器。
      【解决方案3】:

      双重活动应该可以工作,因为执行后退按钮操作不会打扰您。

      【讨论】:

      • 是的 - 保留后退按钮的行为很重要。
      • 谢谢 - 是的,我并没有真正考虑过后退按钮。但是看到我的替代方案是通过实际的“转到网格”按钮更“语义丰富”,这当然意味着更多的实现,但会更加用户友好,利弊:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2015-01-17
      相关资源
      最近更新 更多