Класс MultiChildLayoutDelegate
Класс MultiChildLayoutDelegate обслуживает CustomMultiChildLayout.
В performLayout у каждого id вызывают layoutChild и positionChild.
Так собирают раскладку, которую не выразить готовым рядом.
Синтаксис
MultiChildLayoutDelegate(...)
Методы
| Метод | Описание |
|---|---|
performLayout |
Раскладывает всех детей в MultiChildLayoutContext. |
shouldRelayout |
Решает, нужен ли новый layout при смене delegate. |
Пример
Давайте посмотрим MultiChildLayoutDelegate в рабочем примере:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Text('abcde'),
),
),
);
}
На экране строка 'abcde'. Положение ячеек считает делегат.
Пример
Давайте изменим второй пример с MultiChildLayoutDelegate:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Column(
children: [
Text('abcde'),
Text('12345'),
],
),
),
),
);
}
Второй пример снова оставляет положения делегату.
Смотрите также
-
перечисление
TextBaseline,
которое выбирает alphabetic или ideographic дляbaseline -
перечисление
TableCellVerticalAlignment,
которое выравнивает содержимое ячейки по вертикали -
виджет
Column,
который ставит дочерние виджеты в вертикальный ряд -
виджет
Flex,
который ставит дочерние виджеты вдоль выбранной оси