Menu
CoddyTech

Uma lista que rola

Parte da seção Listas e telas do Journey de Flutter da Coddy. Lição 1 de 33.

Uma Column tem a altura de tudo o que está dentro dela. Quando essa altura é maior que a tela, a parte de baixo é cortada, e o Flutter pinta listras amarelas e pretas onde há transbordamento.

Uma ListView recebe os mesmos children: que uma Column, mas permite rolar. Arraste-a para cima no celular e o restante da lista aparecerá.

ListView(
  children: [
    Text('One'),
    Text('Two'),
    Text('Three'),
  ],
)

Uma ListView preenche o espaço que lhe é dado e sempre começa no topo, então ela não tem mainAxisSize nem mainAxisAlignment.

challenge icon

Desafio

Fácil

O app lista 20 cidades em uma Column, e a maioria delas não cabe: procure as listras na parte inferior do celular. Altere a Column para uma ListView para poder rolar para baixo até Wellington, a última cidade.

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 List<String> cities = [
      'Amsterdam',
      'Bangkok',
      'Cairo',
      'Dublin',
      'Edinburgh',
      'Florence',
      'Geneva',
      'Havana',
      'Istanbul',
      'Jakarta',
      'Kyoto',
      'Lima',
      'Madrid',
      'Nairobi',
      'Oslo',
      'Paris',
      'Quito',
      'Rome',
      'Seoul',
      'Wellington',
    ];
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: const Text('Cities')),
        body: Column(
          children: [
            for (String city in cities)
              Padding(
                padding: const EdgeInsets.all(16),
                child: Text(city, style: const TextStyle(fontSize: 24)),
              ),
          ],
        ),
      ),
    );
  }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Listas e telas

Pratique por conta própria: Compilador de Flutter online