Метод resolve
Метод resolve класса EdgeInsets вызывают у
EdgeInsetsDirectional,
чтобы получить
с конкретными left и right.
При TextDirection.rtl start окажется справа.
Синтаксис
directional.resolve(TextDirection.ltr)
Параметры
| Параметр | Описание |
|---|---|
direction |
Направление письма: TextDirection.ltr или TextDirection.rtl.
|
Пример
Давайте применим resolve для LTR:
import 'package:flutter/material.dart';
void main()
{
const dir = EdgeInsetsDirectional.only(start: 48);
final resolved = dir.resolve(TextDirection.ltr);
runApp(
MaterialApp(
home: Scaffold(
body: Padding(
padding: resolved,
child: Text('abcde'),
),
),
),
);
}
На экране текст сдвинется от левого края на 48 px.
Пример
Давайте сменим направление на RTL:
import 'package:flutter/material.dart';
void main()
{
const dir = EdgeInsetsDirectional.only(start: 48);
final resolved = dir.resolve(TextDirection.rtl);
runApp(
MaterialApp(
home: Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
body: Padding(
padding: resolved,
child: Text('12345'),
),
),
),
),
);
}
На экране отступ start окажется у правого края.
Смотрите также
-
класс
EdgeInsetsDirectional,
который хранит start и end -
метод
resolveуAlignment,
который переводитAlignmentDirectional -
виджет
Directionality,
который задаётTextDirectionдереву -
класс
EdgeInsets,
который получают послеresolve