在Android中,FragmentContainerView
是用于容纳和管理Fragment
的容器视图。它是一个FrameLayout
的子类,提供了一些额外的功能,如支持Navigation
库中的NavHostController
和NavController
,以及管理Fragment
的生命周期和交互。
FragmentContainerView
通常用于以下场景:
-
作为
NavHost
的一部分:NavHost
是一个FrameLayout
,它管理着NavController
,而NavController
又管理着一系列的Fragment
。 -
在Activity中包含
Fragment
:在Activity的布局中,你可以使用FragmentContainerView
来包含和显示Fragment
。 -
在
Fragment
中包含另一个Fragment
:你可以在一个Fragment
中使用FragmentContainerView
来包含另一个Fragment
。
下面是一个简单的例子,展示如何在Activity中使用FragmentContainerView
来显示一个Fragment
:
- 创建一个Fragment(例如
MyFragment
)。
MyFragment.kt:
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.navigation.fragment.findNavController
class MyFragment : Fragment() {
override fun onCreateView(
inflater: