1
resposta

O meu não apareceu a setinha.

Gostaria de entender melhor como que acontece essa automação no codigo onde ele coloca automaticamente essa seta para voltar, no meu codigo InitialScreen ao criar uma nova rota para FormScreen igual o professor fez, não deu o mesmo retorno (pararecer a seta no canto superior esquerdo para voltar a rota principal)

import 'package:app_fluttler_v1/screens/form_screen.dart';
import 'package:flutter/material.dart';
import 'package:app_fluttler_v1/components/task.dart';

class InitialScreen extends StatefulWidget {
  const InitialScreen({super.key});

  @override
  State<InitialScreen> createState() => _InitialScreenState();
}

class _InitialScreenState extends State<InitialScreen> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(leading: Container(), title: const Text("Tarefas")),
      body: ListView(
        children: const [
          Task("Criar Virus Mobile","assets/images/dash.png",5),
          Task("Jogar a Bike Fora","assets/images/bike.webp",1),
          Task("Aprender Magia","assets/images/book.jpg",3),
          Task("Elevar meu Chakra","assets/images/meditate.jpeg",4),
          Task("Jogar Mario 2","assets/images/play_game.jpg",2),
          SizedBox(height: 65,)

        ],
      ), //brinks
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(context, MaterialPageRoute(builder: (context) => FormScreen()));
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}
1 resposta

Olá Asafe!

No código que você compartilhou, a seta para voltar não está aparecendo na tela porque você definiu o leading da AppBar como Container(), que é um widget vazio, ou seja, você removeu o ícone padrão de seta de voltar que costuma aparecer na AppBar.

Para resolver esse problema e obter a seta de voltar na AppBar, você pode remover a linha que define o leading como Container(). Isso fará com que a seta de voltar padrão seja exibida automaticamente na AppBar quando você navegar para a tela FormScreen e o usuário poderá voltar para a tela anterior.

Aqui está o código atualizado do InitialScreen:

import 'package:app_fluttler_v1/screens/form_screen.dart';
import 'package:flutter/material.dart';
import 'package:app_fluttler_v1/components/task.dart';

class InitialScreen extends StatefulWidget {
  const InitialScreen({super.key});

  @override
  State<InitialScreen> createState() => _InitialScreenState();
}

class _InitialScreenState extends State<InitialScreen> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("Tarefas")),
      body: ListView(
        children: const [
          Task("Criar Virus Mobile","assets/images/dash.png",5),
          Task("Jogar a Bike Fora","assets/images/bike.webp",1),
          Task("Aprender Magia","assets/images/book.jpg",3),
          Task("Elevar meu Chakra","assets/images/meditate.jpeg",4),
          Task("Jogar Mario 2","assets/images/play_game.jpg",2),
          SizedBox(height: 65,)
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(context, MaterialPageRoute(builder: (context) => FormScreen()));
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}

Agora, quando você navegar para a tela FormScreen, a seta de voltar estará presente na AppBar e permitirá que o usuário retorne à tela anterior.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software