【问题标题】:Activity embedding vs Fragments, when to use each one?Activity embedding vs Fragments,什么时候使用每一个?
【发布时间】:2022-01-14 04:04:00
【问题描述】:

到目前为止,fragments 是在另一个主屏幕中包含一个屏幕的推荐解决方案,例如列表详细信息模式。

现在google已经发布了Activity嵌入:https://developer.android.com/guide/topics/large-screens/activity-embedding

借助 Activity 嵌入 API,您可以利用额外的 通过一次显示多个活动在大屏幕上显示区域, 例如对于 List-Detail 模式,它需要很少或不需要 重构您的应用程序。

Activity 嵌入是否取代了fragments?或者fragments 在某些情况下会是更好的解决方案吗?如果是这样,每种解决方案在哪些情况下会更好?

【问题讨论】:

    标签: android android-layout android-fragments android-activity


    【解决方案1】:

    Activity 嵌入会替换片段吗?

    不是。

    (尽管可组合项正在替换片段(和视图))。

    或者对于某些情况,片段会是更好的解决方案吗?

    关于活动嵌入,在大多数情况下,片段是更好的解决方案。今天大约 0% 的 Android 设备支持 Activity 嵌入,而大约 100% 的 Android 设备支持 Fragment(通过现代 Jetpack 实现或通过旧框架实现)。此外,片段不仅仅用于在大屏幕上并排显示(例如,作为 ViewPager 中的页面)。

    活动嵌入适用于以下开发人员:

    • 拥有以活动为中心的现有应用,并且
    • 希望使该应用适应可折叠设备和大屏幕设备,而无需重写整个应用以使用片段或可组合设备,并且
    • 愿意接受 Activity 嵌入适用于 Android 12L 及更高版本的事实

    (虽然我认为 Android Automotive 也存在活动嵌入,“你的车运行 Android”操作系统)

    【讨论】:

      【解决方案2】:

      感谢您的帖子。我不知道这种能力。至于您的问题,我认为您发布的链接的最后几行回答了它:

      现代 android 开发使用单 Activity 架构,其中包含片段、导航组件和通用布局管理器(如 SlidingPaneLayout)。

      但是,如果您的应用包含多个 Activity,则嵌入 Activity 可以让您轻松地在平板电脑、可折叠设备和 Chrome OS 设备上提供增强的用户体验。

      因此,看起来片段是可行的方法,但是,如果您的应用由可以并行运行的 Activity 组成,那么 Activity 嵌入可能会很有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-23
        • 2016-09-09
        • 2015-05-14
        • 2018-10-28
        • 2021-02-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        相关资源
        最近更新 更多