0Pricing
Android Academy · Aula

Navegando entre telas

Avance e volte entre destinos.

Navegando entre telas é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 4 aulas no total.

Avançando

Depois de configurar o NavHost, você navega para outra tela chamando navigate no NavController com a rota de destino.

navController.navigate("details")

Disparando a partir de um botão

A navegação geralmente acontece em um retorno de chamada, como o onClick de um botão.

Button(onClick = { navController.navigate("details") }) {
    Text("Open details")
}

A pilha de retorno

Cada chamada a navigate coloca o novo destino na pilha de retorno. O botão de voltar do sistema o remove automaticamente, retornando à tela anterior.

popBackStack

Para voltar de forma programática, por exemplo, a partir de um botão personalizado de "Voltar", chame popBackStack. Isso remove o destino atual e retorna ao anterior.

navController.popBackStack()

navigateUp

navigateUp() é semelhante e é a opção correta para a seta de voltar da barra de ferramentas. Ele respeita a hierarquia de navegação.

navController.navigateUp()

Evitando destinos duplicados

Tocar rapidamente duas vezes em um botão pode colocar a mesma tela duas vezes na pilha. Use launchSingleTop = true para evitar o empilhamento de cópias duplicadas de um destino.

navController.navigate("details") {
    launchSingleTop = true
}

popUpTo

popUpTo limpa parte da pilha de retorno durante a navegação. É útil depois do login: vá para a tela inicial e remova a tela de login para que o retorno não leve a ela.

navController.navigate("home") {
    popUpTo("login") { inclusive = true }
}

inclusive

inclusive = true significa que o destino de popUpTo também é removido. Com inclusive = false, a remoção para logo antes dele.

Mantenha as telas desacopladas

Em vez de passar o NavController inteiro para cada tela, passe lambdas. A tela chama onOpenDetails() e não precisa conhecer os detalhes internos da navegação.

@Composable
fun HomeScreen(onOpenDetails: () -> Unit) {
    Button(onClick = onOpenDetails) { Text("Details") }
}

Conectando a lambda

O NavHost conecta a lambda a uma chamada real de navegação, mantendo a lógica de navegação em um só lugar.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Reunindo tudo

A tela inicial navega para os detalhes; a tela de detalhes volta usando a seta de voltar.

composable("home") {
    HomeScreen(onOpenDetails = { navController.navigate("details") })
}
composable("details") {
    DetailsScreen(onBack = { navController.popBackStack() })
}

Verificação rápida

Qual chamada retorna o usuário à tela anterior de forma programática?

Recapitulação

Navegação:

  • navigate("route") coloca um destino na pilha.
  • popBackStack() / navigateUp() voltam à tela anterior.
  • Use launchSingleTop e popUpTo { inclusive } para controlar a pilha.
  • Passe lambdas, não o controlador, para manter as telas reutilizáveis.

Perguntas Frequentes

A aula “Navegando entre telas” é grátis?

Sim — o texto completo de “Navegando entre telas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 4 aulas no total.

O que vou aprender em “Navegando entre telas”?

Avance e volte entre destinos. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Android Academy?

Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Navegando entre telas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Android Academy?

Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Configurando o NavHost
  2. Navegando entre telas
  3. Passando argumentos
  4. Navegação inferior
← Voltar para Android Academy