2
respostas

ERRO: Another exception was thrown: A RenderFlex overflowed by Infinity pixels on the bottom.

Recebi esse erro ao tentar rodar o projeto exatamente igula ensinado no vídeo. Inclusive baixei o projeto pelo link disponibilizado na aula 03 e mesmo assim o erro permanece.

Another exception was thrown: A RenderFlex overflowed by Infinity pixels on the bottom.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Jefferson!

Esse erro geralmente ocorre quando há um excesso de conteúdo dentro de um widget que não possui espaço suficiente para exibi-lo corretamente na tela.

Uma possível solução para esse problema é utilizar um widget que permita a rolagem do conteúdo, como o SingleChildScrollView ou o ListView. Esses widgets permitem que você adicione uma quantidade maior de conteúdo em um espaço limitado, e o usuário poderá rolar a tela para visualizar todo o conteúdo.

Aqui está um exemplo de como utilizar o SingleChildScrollView:

SingleChildScrollView(
  child: Column(
    children: [
      // Seu conteúdo aqui
    ],
  ),
)

Se você preferir utilizar o ListView, basta substituir o SingleChildScrollView pelo ListView.

Espero que essa solução te ajude a resolver o problema! Se tiver mais alguma dúvida, é só perguntar.

Espero ter ajudado e bons estudos!

Olá, o meu parou de da error quando coloquei um tamanho máximo na ConstrainedBox do MovieCard e aumentei mainAxisExtent: 320 do SliverGrid.builder


```class MovieCard extends StatelessWidget {
  const MovieCard({Key? key, required this.movie}) : super(key: key);
  final Movie movie;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Card(
            clipBehavior: Clip.hardEdge,
            child: ConstrainedBox(
              constraints: const BoxConstraints(maxHeight: 290,),
              child: InkWell(
                  onTap: () {
                    Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (context) => MovieScreen(movie: movie),
                      ),
                    );
                  },
                  child: movie.imageURI != null
                      ? Ink(
                          width: double.infinity,
                          decoration: BoxDecoration(
                            image: DecorationImage(
                                image: NetworkImage(movie.imageURI!),
                                fit: BoxFit.cover),
                          ),
                        )
                      : Ink(
                          child: const Center(
                            child: Icon(Icons.error),
                          ),
                        )),
            )),
        Text(
          movie.name,
          style: Theme.of(context).textTheme.displaySmall,
        )
      ],
    );
  }
}

SliverGrid.builder(
                      itemCount: state.movies.length,
                      gridDelegate:
                          const SliverGridDelegateWithFixedCrossAxisCount(
                        childAspectRatio: 8,
                        crossAxisCount: 2,
                        crossAxisSpacing: 16,
                        mainAxisExtent: 320,
                      ),
                      itemBuilder: (context, index) {
                        return MovieCard(movie: state.movies[index]);
                      },
                    );