第3课、导航
- Fragment 表示
Activity
中界面的一种行为或某一部分。您可以将多个 fragment 组合在一个 activity 中来构建多窗格界面,也可以在多个 activity 中重复使用一个Fragment
。 - 为了进行 fragment 编译,您需要创建一个绑定对象并膨胀 fragment 的视图(等同于对 activity 使用
setContentView()
)。 -
什么是Fragment?与Activity的区别是什么?
- 在 Android 中,Fragment 是一种可以嵌入在 Activity 中的组件,它允许在单个 Activity 中构建更灵活和模块化的用户界面。一个 Activity 可以包含一个或多个 Fragment,而每个 Fragment 可以有自己的用户界面、生命周期和行为。
-
特点和用途:
-
复用性: Fragments 可以被多个 Activity 共享,从而实现 UI 组件的重用。
-
模块化: 使用 Fragment 可以将 UI 划分为更小、更可管理的块,便于开发和维护。
-
灵活性: Fragments 允许在不同的屏幕尺寸和设备方向中重用相同的 UI 块,以适应不同的设备和屏幕布局。
-
区别:
-
生命周期:
- Activity 拥有自己的生命周期方法,如
onCreate()
、onStart()
、onResume()
等。 - Fragment 也有类似的生命周期方法,但它们是在包含它的 Activity 的生命周期内调用的。
- Activity 拥有自己的生命周期方法,如
-
UI 呈现:
- Activity 通常是一个完整的用户界面,可以包含多个 Fragment,但它也可以没有任何 Fragment。
- Fragment 通常代表 Activity 的一部分用户界面,可以嵌套在 Activity 的布局中。
-
交互:
- Activity 之间的通信可以通过 Intent 实现,也可以通过 startActivityForResult() 和 onActivityResult() 方法来获取结果。
- Fragment 之间的通信通常通过它们共享的 Activity 来实现,可以通过 Activity 来传递数据或调用对方的方法。
-
创建和销毁:
- Activity 是通过 startActivity() 来启动的,通常会占用整个屏幕。
- Fragment 通常是在布局中静态或动态地添加的,可以共享 Activity 的屏幕空间。
-
适用场景:
- 使用 Activity 通常用于表示整个应用的主要屏幕,而 Fragment 更适合表示应用中的一部分界面。