可组合函数作为 Activity 中的私有内部方法

Ali*_*Ali 0 android android-jetpack-compose

我已经开始学习Jetpack compose。我正在从 Google 检查此示例:https://github.com/android/compose-samples/blob/main/Crane/app/src/main/java/androidx/compose/samples/crane/home/MainActivity.kt

如您所见,MainScreen 可组合函数是文件中的方法,而不是 MainActivity 类中的内部函数。MainScreen 尚未在其他任何地方使用过。那么为什么不在Activity中将其定义为私有内部函数呢?

您能向我描述一下原因吗?

And*_*Dev 5

如果您计划使用 @Preview 注释,则只需在类外部定义它们,这允许 Android Studio 在预览窗格中渲染可组合项。如果您计划在应用程序的其他地方重用可组合项或使它们通常可重用于其他应用程序,则也应该在类之外定义它们。

但是,如果您愿意,您可以将其定义为内部函数,但不能使用 @Preview 注释。不过,如果您不打算使用预览,并且没有理由在类外部重用可组合项,则可以将其定义为内部函数。我已经在许多可组合项上这样做了。