Spacer separa os elementos
Parte da seção Layouts que se adaptam do Journey de Flutter da Coddy. Lição 4 de 30.
Uma barra superior geralmente tem um logotipo à esquerda e links à direita. Um Spacer faz isso: é um widget vazio que ocupa todo o espaço restante na linha e empurra tudo o que vem depois dele para a outra extremidade.
Row(
children: [
const Text('Logo'),
const Spacer(),
const Text('Cart'),
],
)O Spacer fica exatamente onde deve estar o espaço. Os widgets anteriores a ele permanecem à esquerda, os widgets posteriores se movem para a direita, e o espaço entre os vizinhos do mesmo lado permanece como você o definiu.
mainAxisAlignment: MainAxisAlignment.spaceBetween afasta todos os filhos uns dos outros. Use um Spacer quando apenas um espaço deve aumentar.
Desafio
FácilMantenha Coddy à esquerda e empurre Help e Log in até a borda direita, ainda separados por 16 pixels.
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) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Padding(
padding: const EdgeInsets.fromLTRB(16, 48, 16, 16),
child: Column(
children: [
Row(
children: [
const Text(
'Coddy',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
const Text('Help'),
const SizedBox(width: 16),
const Text('Log in'),
],
),
],
),
),
),
);
}
}
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 LayoutBuilderPratique por conta própria: Compilador de Flutter online