O Jetpack Compose usa Kotlin para implementar uma abordagem de UI declarativa, semelhante ao React Native, Flutter e Swift UI. Este guia o guiará pela criação do seu primeiro aplicativo Android usando o Jetpack Compose.
- Abra o Android Studio.
- Selecione o modelo Empty Activity (símbolo do Jetpack Compose).
- Preencha os detalhes do projeto:
- Nome:
Placar Digital - Nome do pacote: Conforme sua preferência.
No arquivo build.gradle do seu módulo de aplicativo:
- Habilitar o Compose:
buildFeatures {
compose true
}- Adicionar opções do Compose:
composeOptions {
kotlinCompilerExtensionVersion 'x.x.x'
}- Dependências: Garanta que as bibliotecas necessárias do Compose estejam incluídas.
A MainActivity inclui o método setContent:
- Inicia a IU com um tema.
- Chama um componente personalizado
Greeting, anotado com@Composable.
Exemplo de componente Greeting:
@Composable
fun Greeting(message: String) {
Text(text = message)
}Visualizar com a anotação @Preview:
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
Greeting("Olá, Compose!")
}- Linha e coluna:
Adicione componentes à tela usando
LinhaeColuna.
Exemplo:
Coluna(
modifier = Modifier.fillMaxWidth().padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text("Exemplo de coluna")
}- Modificador: Usado para definir preenchimento, plano de fundo e alinhamento.
- Use
mutableStateOfpara o estado do componente interno. - Lembre-se de valores com
remember:
var score by remember { mutableStateOf(0) }Crie uma função composable para a visualização de pontuação:
@Composable
fun ScoreView(teamName: String, score: Int, onScoreChange: (Int) -> Unit) {
Column(
modifier = Modifier.fillMaxWidth().padding(8.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(teamName)
Row {
Button(onClick = { onScoreChange(score - 1) }) {
Text("-")
}
Text("$score")
Button(onClick = { onScoreChange(score + 1) }) {
Text("+")
}
}
}
}Crie uma classe Score para gerenciamento de dados:
data class Score(
val teamName: String,
val score: MutableState<Int>
)- Atualize
@PrevieweMainActivitypara usar a classeScore. - Teste o aplicativo e modifique os elementos da IU para explorar os recursos.