gpt4 book ai didi

android - 为什么使用 fragment ,以及何时使用 fragment 而不是 Activity ?

转载 作者:IT老高 更新时间:2023-10-28 12:49:00 26 4
gpt4 key购买 nike

在 Android API 11+ 中,Google 发布了一个名为 Fragment 的新类。

在视频中,Google 建议尽可能(link1link2)使用 fragment 而不是 Activity ,但他们没有解释具体原因。

fragment 的用途和它们的一些可能用途是什么(除了一些可以通过简单的 View /布局轻松实现的 UI 示例)?

我的问题是关于 fragment 的:

  1. 使用 fragment 的目的是什么?
  2. 与使用 Activity/ View /布局相比,使用 fragment 有哪些优点和缺点?

额外问题:

  1. 你能给出 fragment 的一些真正有趣的用途吗? Google 没有在视频中提及的内容?
  2. 在 Fragment 和包含它们的 Activity 之间进行通信的最佳方式是什么?
  3. 使用 Fragment 时要记住的最重要的事情是什么?根据您的经验有什么提示和警告?

最佳答案

#1 & #2 what are the purposes of using a fragment & what are the advantages and disadvantages of using fragments compared to using activities/views/layouts?

fragment 是 Android 用于创建可重用用户界面的解决方案。您可以使用 Activity 和布局(例如使用包含)来实现一些相同的目的。然而; fragment 从 HoneyComb 和更高版本连接到 Android API。让我详细说明;

  • ActionBar。如果你想让标签在上面导航你的应用程序,你很快就会看到 ActionBar.TabListener 接口(interface)为你提供了一个 FragmentTransaction 作为 onTabSelected 的输入参数> 方法。您可能会忽略这一点,并做一些其他的聪明的事情,但您将使用 API,而不是使用它。

  • FragmentManager 以一种非常聪明的方式为您处理«back»。 Back 并不意味着回到上一个 Activity ,就像常规 Activity 一样。这意味着回到之前的 fragment 状态。

  • 您可以使用酷炫的 ViewPagerFragmentPagerAdapter 来创建滑动界面。 FragmentPagerAdapter 代码比常规适配器更简洁,它控制各个 fragment 的实例化。

  • 如果您在尝试为手机和平板电脑创建应用程序时使用 Fragments,您的生活会轻松很多。由于这些 fragment 与 Honeycomb+ API 紧密相关,因此您也希望在手机上使用它们以重用代码。这就是兼容性库派上用场的地方。

  • 您甚至可以并且应该将 fragment 用于仅适用于手机的应用程序。如果您考虑到便携性。我使用 ActionBarSherlock 和兼容性库来创建“看起来像 ICS”的应用程序,这些应用程序在 1.6 版中看起来都一样。您可以获得最新的功能,例如 ActionBar,带有选项卡、溢出、拆分操作栏、viewpager 等。

Bonus 2

在 Fragment 之间进行通信的最佳方式是 Intent。当您按下 fragment 中的某些内容时,您通常会调用 StartActivity() 并在其上包含数据。 Intent 会传递给您启动的 Activity 的所有 fragment 。

关于android - 为什么使用 fragment ,以及何时使用 fragment 而不是 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10478233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com