Метод flipped
Метод flipped класса EdgeInsets возвращает,
где бывший left становится top,
top становится right,
right - bottom,
bottom - left.
Нужен при повороте layout на четверть оборота.
Синтаксис
insets.flipped
Пример
Давайте повернём асимметричный padding вместе с текстом:
import 'package:flutter/material.dart';
void main()
{
const base = EdgeInsets.fromLTRB(40, 8, 8, 8);
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: RotatedBox(
quarterTurns: 1,
child: Padding(
padding: base.flipped,
child: Container(
color: Colors.purple.shade100,
child: Text('abcde'),
),
),
),
),
),
),
);
}
На экране большое поле окажется сверху относительно повёрнутой подписи.
Пример
Давайте сравним обычный и flipped padding без поворота:
import 'package:flutter/material.dart';
void main()
{
const base = EdgeInsets.fromLTRB(32, 8, 8, 8);
runApp(
MaterialApp(
home: Scaffold(
body: Row(
children: [
Expanded(
child: Padding(
padding: base,
child: Container(
color: Colors.teal.shade100,
child: Text('abcde'),
),
),
),
Expanded(
child: Padding(
padding: base.flipped,
child: Container(
color: Colors.teal.shade300,
child: Text('12345'),
),
),
),
],
),
),
),
);
}
На экране у правого блока широкое поле сверху, у левого - слева.
Смотрите также
-
виджет
RotatedBox,
который поворачивает дочерний виджет -
метод
resolve,
который переводит inset в LTR или RTL -
класс
EdgeInsetsDirectional,
который изначально использует start и end -
класс
EdgeInsets,
у которого естьflipped