Par Valentin Brosseau / Playmoweb
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}Le composant est un principe de base de la conception d'interface utilisateur en 2023.

Des briques de base d'une interface.
Change la façon de faire des interfaces. Et uniquement ça.
(Nous avons toujours besoin de Kotlin, de Java, de Gradle, de l'Android SDK, etc.)
var counter by remember { mutableStateOf(0) }
Button(onClick = { counter++ }) {
Text("Clique => ${counter}")
}Qu'observez-vous ? Comment ça fonctionne ?
var isLogin by remember { mutableStateOf(false) }
if (isLogin) {
Text("Bienvenue")
} else {
Button(onClick = { isLogin = true }) {
Text("Se connecter")
}
}Qu'observez-vous ? Comment ça fonctionne ?
Column : Alignement vertical.Row : Alignement horizontal.Box : Alignement libre.Button : Un bouton.TextField : Un champ de texte.Checkbox : Une case à cocher.Switch : Un interrupteur.Text : Un texte.Beaucoup de composants sont déjà disponibles.
Repose sur le material design
Column {
Text("Hello")
Text("World")
}Row {
Text("Hello")
Text("World")
}Column {
Row {
Text("Hello")
Text("World")
}
Row {
Text("Hello")
Text("World")
}
}Proxy (MutableState, MutableStateFlow, etc.).Ce sont des variables qui peuvent être modifiées et qui vont déclencher une mise à jour de l'interface.
var counter by remember { mutableStateOf(0) }
var items by remember { mutableStateOf(listOf("A", "B", "C")) }
// ...S'utilise comme une variable normale.
Text(stringResource(R.string.hello))Comme sur Android classique. Le fichier strings.xml est toujours utilisé.
var counter by remember { mutableStateOf(0) }
Column {
Button(onClick = { counter++ }) {
Text("Action")
}
AnimatedVisibility(visible = counter > 0) {
Text("Visible")
}
AnimatedContent(targetState = count) { targetState ->
Text(text = "Count: $targetState")
}
}Ça fait beaucoup de choses à apprendre.
Nous allons pratiquer ensemble.
Une dernière chose…
Jetpack Compose c'est jeune.
Il faut donc accepter que ça évolue vite / change / sois instable.
Pour nous accompagner dans cette transition, Google a créé :
Accompanist est voué à disparaître. Car les fonctionnalités seront intégrées à Compose.
Le TP d'introduction à Compose