Виджет Stack
Виджет Stack рисует дочерние виджеты в одном месте, снизу вверх по списку children.
Положение отдельного дочернего виджета задаёт Positioned.
Без него дочерний виджет ставится в угол alignment, по умолчанию в левый верхний.
Синтаксис
Stack(
children: [
child1,
],
)
Параметры
| Параметр | Описание |
|---|---|
children |
Список дочерних виджетов. |
Пример
Давайте применим Stack на экране:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Stack(
children: [
Container(color: Colors.blue, width: 180, height: 100),
Text('abcde'),
],
),
),
),
);
}
На экране синий прямоугольник, поверх него строка 'abcde'.
Пример
Давайте соберём второй пример с Stack:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Stack(
children: [
Container(color: Colors.blue, width: 180, height: 100),
Text('abcde'),
],
),
),
),
);
}
Второй пример снова кладёт строку поверх прямоугольника.
Смотрите также
-
виджет
IndexedStack,
который показывает один слой -
виджет
Positioned,
который задаёт координаты вStack -
виджет
Container,
который совмещает отступ и оформление -
виджет
Padding,
который задаёт только отступ