Quw*_*sim 4 android kotlin android-jetpack-compose
我在 Android 中看到了新的 Jetpack Compose,并决定尝试一下。我一直在尝试理解有关可组合项的一些基本概念。我的问题是:可以composable functions调用non-composable函数吗?我用谷歌搜索没有结果。
我的问题是:可组合函数可以调用不可组合函数吗?
是的。Kotlin 中的几乎所有内容最终都是函数调用,并且大多数可用的函数都是不可组合的。
以下是 Google 的一段 Compose UI 代码示例:
@Composable
fun NewsStory() {
val image = imageResource(R.drawable.header)
Column(
modifier = Modifier.padding(16.dp)
) {
val imageModifier = Modifier
.preferredHeight(180.dp)
.fillMaxWidth()
Image(image, modifier = imageModifier,
contentScale = ContentScale.Crop)
Spacer(Modifier.preferredHeight(16.dp))
Text("A day in Shark Fin Cove")
Text("Davenport, California")
Text("December 2018")
}
}
Run Code Online (Sandbox Code Playgroud)
其中,以下功能不是@Composable:
imageResource()Modifier.padding()Modifier.preferredHeight()Modifier.fillMaxWidth()规则是,标记为 的函数@Composable需要由标记为@Composable或可组合函数的一小群最终消费者之一的另一个函数调用。这让人想起协程,其中suspend函数需要由其他suspend函数或函数的一小部分最终消费者之一suspend(例如,协程构建器,如launch())调用。
| 归档时间: |
|
| 查看次数: |
4949 次 |
| 最近记录: |