Виджет Expanded
Виджет Expanded ставят дочерним у Row или Column.
Он забирает свободное место вдоль ряда и отдаёт его своему дочернему виджету.
Долю среди нескольких Expanded задаёт flex. По умолчанию доля равна 1.
Синтаксис
Expanded(
child: child,
)
Параметры
| Параметр | Описание |
|---|---|
child |
Дочерний виджет или список дочерних виджетов. |
Пример
Давайте применим Expanded на экране:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Row(
children: [
Expanded(child: Text('abcde')),
Text('12345'),
],
),
),
),
);
}
На экране строка 'abcde' занимает свободную ширину ряда, а '12345' стоит рядом своей ширины.
Пример
Давайте соберём второй пример с Expanded:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Row(
children: [
Expanded(child: Text('abcde')),
Text('12345'),
],
),
),
),
);
}
Второй пример повторяет тот же ряд: одна строка растянута, вторая нет.
Смотрите также
-
виджет
UnconstrainedBox,
который снимает ограничения родителя с child -
виджет
Offstage,
который убирает виджет с экрана -
виджет
Visibility,
который скрывает один виджет -
виджет
Placeholder,
который рисует серую заглушку заданного размера