Lista z przewijaniem
Część sekcji Listy i ekrany ścieżki Flutter w Coddy. Lekcja 1 z 33.
Column ma wysokość równą łącznej wysokości wszystkich elementów, które zawiera. Gdy jest wyższa niż ekran, jej dół zostaje ucięty, a Flutter rysuje żółto-czarne pasy w miejscu przepełnienia.
ListView przyjmuje te same children: co Column, ale można ją przewijać. Przeciągnij ją palcem w górę na telefonie, a pozostała część listy stanie się widoczna.
ListView(
children: [
Text('One'),
Text('Two'),
Text('Three'),
],
)ListView wypełnia przydzieloną jej przestrzeń i zawsze zaczyna się u góry, więc nie ma mainAxisSize ani mainAxisAlignment.
Wyzwanie
ŁatwyAplikacja wyświetla 20 miast w widżecie Column, a większość z nich się nie mieści: zwróć uwagę na paski u dołu telefonu. Zmień Column na ListView, aby móc przewinąć w dół do Wellington, ostatniego miasta.
Spróbuj swoich sił
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)),
),
],
),
),
);
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Listy i ekrany
1Przewijane listy
Lista z przewijaniemElementy listyPoczątek i koniecDotknij elementu listySeparatory między wierszami5Więcej niż jeden ekran
Otwórz nowy ekranStrzałka wsteczWróć za pomocą przyciskuPrześlij dane do ekranuOdbierz wynik6Karty, szuflady i gesty przesunięcia
Karty z paskiem nawigacyjnymWypełnione ikony dla otwartej kartyBoczna szufladaPrzesuń, aby usunąćCofnij przesunięciePoćwicz samodzielnie: Kompilator Flutter online