Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
57 of 1024 menu
◀ ▶

Класс SingleChildLayoutDelegate

Класс SingleChildLayoutDelegate обслуживает CustomSingleChildLayout. Один метод сообщает размер самого виджета, другой - ограничения дочернего, третий - его положение. shouldRelayout сравнивает новый делегат со старым.

Синтаксис

SingleChildLayoutDelegate(...)

Методы

Метод Описание
getConstraintsForChild Возвращает BoxConstraints для единственного дочернего виджета.
getPositionForChild Возвращает Offset, куда поставить child внутри size родителя.
shouldRelayout Решает, нужен ли новый layout при смене delegate.

Пример

Давайте посмотрим SingleChildLayoutDelegate в рабочем примере:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Text('abcde'), ), ), ); }

На экране строка 'abcde'. Размер и сдвиг считает делегат.

Пример

Давайте изменим второй пример с SingleChildLayoutDelegate:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Column( children: [ Text('abcde'), Text('12345'), ], ), ), ), ); }

Второй пример снова оставляет размер делегату.

Смотрите также

  • перечисление WrapAlignment,
    которое выравнивает строки при переносе Wrap
  • перечисление WrapCrossAlignment,
    которое выравнивает дочерние виджеты поперёк строк Wrap
  • перечисление StackFit,
    которое задаёт, как Stack делит ограничения размера
  • перечисление FlexFit,
    которое задаёт tight или loose для Flexible
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить