Виджет Transform
Виджет Transform применяет к дочернему виджету матрицу преобразования.
Поворот задаёт метод rotate,
масштаб - scale,
сдвиг - translate.
Место в раскладке остаётся прежним: поворот рисуется поверх, не раздвигая соседей.
Синтаксис
Transform.rotate(
angle: 0.4,
child: child,
)
Параметры
| Параметр | Описание |
|---|---|
transform |
Матрица сдвига, поворота или масштаба. |
child |
Дочерний виджет, к которому применяют преобразование. |
Методы
| Метод | Описание |
|---|---|
flip |
Отражает виджет по оси X или Y. |
rotate |
Поворачивает дочерний виджет на angle. |
scale |
Масштабирует дочерний виджет. |
translate |
Сдвигает дочерний виджет на Offset.
|
Пример
Давайте повернём строку:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Transform.rotate(
angle: 0.5,
child: Text('abcde', style: TextStyle(fontSize: 24)),
),
),
),
));
}
На экране строка 'abcde' наклонена.
Пример
Давайте увеличим строку в полтора раза:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Transform.scale(
scale: 1.5,
child: Text('12345'),
),
),
),
));
}
На экране строка '12345' крупнее обычного текста.
Смотрите также
-
виджет
RepaintBoundary,
рисовать дочерний виджет отдельным слоем -
виджет
PhysicalModel,
тень и обрезка по форме -
виджет
RotatedBox,
поворот на четверти оборота -
виджет
CustomPaint,
свой рисунок