Una lista desplazable
Parte de la sección Listas y pantallas del Journey de Flutter de Coddy. Lección 1 de 33.
Un Column tiene la altura de todo lo que contiene. Cuando esa altura supera la de la pantalla, la parte inferior queda cortada y Flutter dibuja franjas amarillas y negras donde se desborda.
Un ListView recibe los mismos children: que un Column, pero permite desplazarse. Arrástralo hacia arriba en el teléfono y aparecerá el resto de la lista.
ListView(
children: [
Text('One'),
Text('Two'),
Text('Three'),
],
)Un ListView ocupa el espacio que se le asigna y siempre empieza en la parte superior, así que no tiene mainAxisSize ni mainAxisAlignment.
Desafío
FácilLa aplicación muestra 20 ciudades en una Column, y la mayoría no caben: fíjate en las franjas de la parte inferior del teléfono. Cambia la Column por una ListView para poder desplazarte hasta Wellington, la última ciudad.
Pruébalo tú mismo
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)),
),
],
),
),
);
}
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Listas y pantallas
1Listas con desplazamiento
Una lista desplazableElementos de listaAl principio y al finalToca un elemento de listaSeparadores entre filas3Tarjetas y cuadrículas
Tarjetas en una listaUna cuadrícula de mosaicosUna cuadrícula creada con un constructor6Pestañas, cajones y deslizamientos
Pestañas con una barra de navegaciónIconos rellenos para la pestaña abiertaUn cajón lateralDeslizar para eliminarDeshacer un deslizamientoPractica por tu cuenta: Compilador de Flutter online