Метод only
Метод only класса EdgeInsetsDirectional
собирает отступ по именам сторон.
start отодвигает от начала строки, end от её конца.
При письме слева направо начало строки слева.
Сторону, которую не передали, метод оставляет равной нулю.
Синтаксис
EdgeInsetsDirectional.only(start: 32, top: 24)
Параметры
| Параметр | Описание |
|---|---|
start |
Отступ от начала строки.
Слева при письме слева направо и справа при обратном направлении.
По умолчанию 0.
|
top |
Отступ сверху. По умолчанию 0.
|
end |
Отступ от конца строки.
Справа при письме слева направо и слева при обратном направлении.
По умолчанию 0.
|
bottom |
Отступ снизу. По умолчанию 0.
|
Пример
Давайте отодвинем строку только от начала письма:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Padding(
padding: EdgeInsetsDirectional.only(start: 48),
child: Text('abcde'),
),
),
),
);
}
На экране строка 'abcde' стоит не у левого края, а с отступом.
Сверху, снизу и справа поля нет.
Пример
Давайте при письме справа налево отодвинем строку от начала, то есть от правого края:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
body: Padding(
padding: EdgeInsetsDirectional.only(start: 48),
child: Text('12345'),
),
),
),
),
);
}
На экране строка '12345' прижата к правому краю и сдвинута от него.
Начало строки теперь справа, поэтому start работает не слева.
Смотрите также
-
метод
onlyуEdgeInsets,
который называет стороныleftиright, а не начало и конец строки -
метод
allуEdgeInsetsDirectional,
который ставит одно и то же число на все четыре стороны -
метод
fromSTEBуEdgeInsetsDirectional,
который принимает четыре отступа по порядку, без имён -
виджет
Padding,
которому этот отступ передают вpadding