fun createListItem(itemIndex: Int) {
Padding(left = 8.dp, right = 8.dp, top = 8.dp, bottom = 8.dp) {
FlexRow(crossAxisAlignment = CrossAxisAlignment.Center) {
expanded(1.0f) {
Text("Item $itemIndex")
}
inflexible {
Button(
"Button $itemIndex",
style = ContainedButtonStyle(),
onClick = {
Toast.makeText(
this@MainActivity,
"Item name $itemIndex",
Toast.LENGTH_SHORT
).show()
})
}
}
}
}
J'essaie de faire grinchonner de manière normale. Mais j'ai eu l'erreur que j'ai essayé beaucoup de multiples source mais j'ai échoué.
Vous pouvez accéder au contexte avec définir ambientContext
.
Exemple :
val context = +ambient(ContextAmbient)
La façon de faire cela a été mise à jour. La neige:
val context = ContextAmbient.current
Je pense que votre jamais montrer Toast
voie normale. Jetpack compose utilise un plug-in personnalisé Kotlin
compilateur pour transformer ces fonctions composables dans les éléments d'interface utilisateur de l'application. Par exemple, la fonction Text()
est définie par le Compose UI library
. Jetpack Compose est très tôt du développement. Vous pouvez voir tous les repo de jetpack composent avec un échantillon et une vérification de test d'intégration ci-dessous
https://androïd.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui
Pour jetpack composer matériau démo vérifier ce lien
Pour obtenir le contexte à Jetpack composer:
val context = ContextAmbient.current
Travailler sur 0.1.0-Dev14
Comment l'utiliser dans [~ # ~] toast [~ # ~ ~]:
@Composable
fun cardViewImplementer(item: Int) {
val context = ContextAmbient.current
Card(
shape = RoundedCornerShape(10.dp),
modifier = Modifier.padding(10.dp)
) {
Box(
modifier = Modifier
.fillMaxWidth()
.drawShadow(5.dp)
.clickable(onClick = {
Toast.makeText(context, "Clicked $item", Toast.LENGTH_SHORT).show()
}), children = {
})
}
Pour accéder à ressource:
Text("Read this string: "+context.getString(R.string.name))