Correção de Overflow: Quebra de linha
Parte da seção Layouts que se adaptam do Journey de Flutter da Coddy. Lição 8 de 30.
Algumas linhas contêm itens que devem fluir como palavras em uma frase: tags, filtros, chips. Quando há itens demais para uma linha, uma Row transborda à direita.
Wrap recebe a mesma lista de children: e, quando o próximo filho não cabe na linha, começa uma nova linha abaixo:
Wrap(
children: [
for (final tag in tags) Text(tag),
],
)Essa é a terceira solução para um estouro. Use Expanded quando um filho deve encolher, uma visualização rolável quando a página for mais longa que a tela e Wrap quando os filhos devem passar para a próxima linha.
Um Wrap mantém cada filho no tamanho que ele solicita. Ele nunca os comprime; apenas os move para baixo.
Desafio
FácilAs tags ultrapassam o limite à direita. Faça com que elas se distribuam em quantas linhas forem necessárias, como as palavras em um parágrafo.
Experimente você mesmo
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final tags = ['Dart', 'Flutter', 'Mobile', 'Design', 'Games', 'Web'];
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Interests')),
body: Padding(
padding: const EdgeInsets.all(16),
child: Row(
children: [
for (final tag in tags)
Container(
width: 110,
height: 40,
decoration: BoxDecoration(
color: Colors.purple.shade100,
borderRadius: BorderRadius.circular(20),
),
child: Center(child: Text(tag)),
),
],
),
),
),
);
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Layouts que se adaptam
1Compartilhando uma linha
Expanded preenche a linhaCompartilhando espaço com flexFlexible se ajusta ao filhoSpacer separa os elementos4Tamanhos e pontos de quebra
Largura total: double.infinityUma largura máximaTamanho da tela: MediaQueryPontos de quebra com LayoutBuilder2O Erro de Overflow
O Erro de OverflowCorreção de Overflow: ExpandirCorreção de Overflow: RolagemCorreção de Overflow: Quebra de linhaEspaçamento dentro de uma quebra de linhaPratique por conta própria: Compilador de Flutter online