在Android Jetpack Compose中,您可以使用Jetpack Compose Fragment库来创建基于Compose的Fragment,而无需使用XML布局。在这里是如何做到的:
dependencies {
implementation "androidx.fragment:fragment-compose:1.0.0-alpha06"
}
class MyFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return ComposeView(requireContext()).apply {
setContent {
Text(text = "Hello from Compose Fragment!")
}
}
}
}
在此示例中,我们创建了一个名为MyFragment的Compose Fragment,并在其onCreateView方法中返回一个ComposeView作为视图。 setContent方法被用来定义由Compose构建的视图的内容。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyFragment()
}
}
}
在此示例中,我们使用setContent方法来将MyFragment添加到MainActivity中。 您可以像使用常规Fragment一样使用Compose Fragment。
这就是创建不需要XML的Android Jetpack Compose Fragment所需的步骤。