有必要在activity中使用fragment吗?
Is it necessary to use fragment in the activity?
最近在学习android-architecture-samples,发现每个activity都使用了fragment,即使activity其实并不需要fragments,在我看来,这使得activity 懒惰并导致很多文件。
比如TaskDetailActivity sets the Toolbar, and other view work is given to the TaskDetailFragment。为什么要用fragment而不是activity来实现,你会发现整个demo都是这样做的,
我不认为这是一个毫无意义的问题。必须有这样做的理由。
谁能告诉我为什么写这个,有什么好处?谢谢!
没有这样的规定。根据要求,activity 不需要片段。
没有。您可以 activity 没有片段。
那么,为什么 Google 和其他 Android 开发倡导者正在推动单一 activity 多片段架构?
这是因为,通过这种方式,您可以让多个屏幕(片段)共享一个 activity,否则将很难在您的应用中管理与屏幕数量一样多的活动。可以轻松地从 activity 的片段后台堆栈中添加和弹出片段,因此可以灵活地与多个片段共享来自同一 activity 的资源。此外,如果您不关心不同屏幕在配置(例如方向等)方面的差异,那么在一个容器中管理多个屏幕会容易得多。
根据我的经验,您应该为不同的工作流程创建不同的活动。例如。您的整个应用程序(您应用程序的核心功能)可以放在一个 activity 中,但是注册、登录、入职等其他事情可以是它们自己的活动。这样您就可以通过启动一个新的 activity 来启动一个单一的工作流程。
添加新屏幕时在片段上选择 activity 的另一个很好的例子 - 您的新屏幕的配置与当前 activity 中共享的其他屏幕(片段)完全不同.例如。您的新屏幕是一个照片/视频库,需要您支持两种方向(横向和纵向),但您现有/当前 activity 中的其他屏幕只能是纵向。
我希望您清楚地了解为什么人们倾向于单一 activity 多片段方法。
最近在学习android-architecture-samples,发现每个activity都使用了fragment,即使activity其实并不需要fragments,在我看来,这使得activity 懒惰并导致很多文件。
比如TaskDetailActivity sets the Toolbar, and other view work is given to the TaskDetailFragment。为什么要用fragment而不是activity来实现,你会发现整个demo都是这样做的, 我不认为这是一个毫无意义的问题。必须有这样做的理由。
谁能告诉我为什么写这个,有什么好处?谢谢!
没有这样的规定。根据要求,activity 不需要片段。
没有。您可以 activity 没有片段。
那么,为什么 Google 和其他 Android 开发倡导者正在推动单一 activity 多片段架构?
这是因为,通过这种方式,您可以让多个屏幕(片段)共享一个 activity,否则将很难在您的应用中管理与屏幕数量一样多的活动。可以轻松地从 activity 的片段后台堆栈中添加和弹出片段,因此可以灵活地与多个片段共享来自同一 activity 的资源。此外,如果您不关心不同屏幕在配置(例如方向等)方面的差异,那么在一个容器中管理多个屏幕会容易得多。
根据我的经验,您应该为不同的工作流程创建不同的活动。例如。您的整个应用程序(您应用程序的核心功能)可以放在一个 activity 中,但是注册、登录、入职等其他事情可以是它们自己的活动。这样您就可以通过启动一个新的 activity 来启动一个单一的工作流程。
添加新屏幕时在片段上选择 activity 的另一个很好的例子 - 您的新屏幕的配置与当前 activity 中共享的其他屏幕(片段)完全不同.例如。您的新屏幕是一个照片/视频库,需要您支持两种方向(横向和纵向),但您现有/当前 activity 中的其他屏幕只能是纵向。
我希望您清楚地了解为什么人们倾向于单一 activity 多片段方法。