Виджет Positioned
Виджет Positioned задаёт отступы дочернего виджета от краёв Stack.
Можно указать left, top, right, bottom.
Если заданы и левый и правый края, ширина получается как остаток между ними.
Синтаксис
Positioned(
child: child,
)
Параметры
| Параметр | Описание |
|---|---|
child |
Дочерний виджет или список дочерних виджетов. |
Методы
| Метод | Описание |
|---|---|
fill |
Растягивает дочерний виджет на всю Stack с отступами.
|
directional |
Задаёт отступы start и end с учётом направления письма. |
fromRect |
Ставит дочерний виджет по прямоугольнику Rect.
|
fromRelativeRect |
Размещает child по RelativeRect внутри Stack. Давайте разберём вызов на примерах.
|
Пример
Давайте применим Positioned на экране:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Positioned(
child: Text('abcde'),
),
),
),
);
}
На экране строка 'abcde'. Края работают, когда Positioned стоит прямым дочерним виджетом Stack.
Пример
Давайте соберём второй пример с Positioned:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Positioned(
child: Text('abcde'),
),
),
),
);
}
Второй пример устроен так же.