Список с прокруткой
Часть раздела Списки и экраны путешествия по Flutter на Coddy. Урок 1 из 33.
Column имеет высоту, равную высоте всех элементов внутри неё. Если эта высота превышает высоту экрана, нижняя часть обрезается, а Flutter отображает жёлтые и чёрные полосы там, где содержимое выходит за границы.
ListView принимает те же children:, что и Column, но позволяет прокручивать содержимое. Проведите пальцем вверх по экрану телефона, и появится остальная часть списка.
ListView(
children: [
Text('One'),
Text('Two'),
Text('Three'),
],
)ListView занимает всё предоставленное ему пространство и всегда начинается сверху, поэтому у него нет mainAxisSize и mainAxisAlignment.
Задание
ЛегкоПриложение выводит 20 городов в Column, и большинство из них не помещается: обрати внимание на полосы внизу экрана телефона. Замени Column на ListView, чтобы можно было прокрутить список до Wellington, последнего города.
Попробуйте сами
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)),
),
],
),
),
);
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Списки и экраны
1Прокручиваемые списки
Список с прокруткойЭлементы спискаНачало и конецНажатие на элемент спискаРазделители между строками6Вкладки, боковые панели и свайпы
Вкладки с панелью навигацииЗаливные значки для открытой вкладкиБоковая панельУдаление свайпомОтмена свайпаПотренируйтесь самостоятельно: Онлайн-компилятор Flutter