🧱 Cap 06: Dashboard Gamer (Layouts e Pastas)
🎯 Objetivo da Aula:
Ao final desta aula, você dominará os três pilares de organização do Compose: Column, Row e Box. Além disso, você aprenderá a organizar seus arquivos no Android Studio usando o Mapa do Tesouro (Estrutura de Pastas).
🏢 O Cenário Prático (Seu Desafio):
Sua tela de perfil ficou simples. Agora, o desafio é criar um Dashboard de Batalha. Você precisa colocar o HP e a Mana lado a lado (Row), as habilidades uma embaixo da outra (Column) e um ícone de “Alerta” por cima de tudo (Box). E o mais importante: você deve organizar esses arquivos nas pastas corretas!
🧠 Fundamentos: A Teoria Traduzida
📖 Dicionário do Programador
- Column (Coluna): Itens um embaixo do outro.
- Row (Linha): Itens um ao lado do outro.
- Box (Caixa): Itens sobrepostos (um em cima do outro, como camadas).
🎨 O Mapa do Tesouro (Pastas)
Para o código não virar bagunça, clique com o botão direito na pasta java/br.com.curso.projeto e crie estas subpastas (New > Package):
ui/screens/: Para as telas inteiras.ui/components/: Para as peças pequenas (ex: seu Botão customizado).
graph TD A[Dashboard Gamer] --> B[Row: HP e Mana] A --> C[Column: Habilidades] A --> D[Box: Notificação]
📖 Exemplo Passo a Passo: O Painel de Status
- Crie um novo arquivo chamado
DashboardScreen.ktdentro da pastaui/screens/. - Use o modificador
Modifier.fillMaxWidth()para que o item ocupe a largura toda.
@Composable
fun DashboardGamer() {
Column(modifier = Modifier.padding(16.dp)) {
// Título
Text("Status do Treinador", fontWeight = FontWeight.Bold)
// HP e Mana Lado a Lado
Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween) {
Text("HP: 100/100", color = Color.Red)
Text("MANA: 50/50", color = Color.Blue)
}
// Habilidades uma embaixo da outra
Column(modifier = Modifier.padding(top = 10.dp)) {
Text("⚔️ Corte Rápido")
Text("🛡️ Defesa Absoluta")
}
}
}🛠️ Prática Obrigatória 1:
Organize seu projeto! Crie as pastas ui/screens e ui/components no seu Android Studio. Mova sua tela de Dashboard para a pasta screens.
🛠️ Prática Obrigatória 2:
Crie uma Box que tenha um fundo cinza e coloque um texto “Nível 1” centralizado nela. Use o modificador Modifier.align(Alignment.Center).
🔑 Gabarito Passo a Passo:
Exercício 2:
@Composable
fun BadgeNivel() {
Box(
modifier = Modifier.size(100.dp).background(Color.Gray),
contentAlignment = Alignment.Center
) {
Text(text = "NÍVEL 1", color = Color.White)
}
}📤 Instruções de Entrega (Microsoft Teams):
- Envie um print da sua estrutura de pastas no Android Studio.
- Envie o código do seu Dashboard.
- Submeta no canal de tarefas.