Метод translate
Метод translate класса Rect
сдвигает прямоугольник на два числа и возвращает новый.
translateX прибавляется к левому и правому краю, translateY к верхнему и нижнему.
Ширина и высота остаются прежними.
Отрицательное число сдвигает в другую сторону.
Такой же сдвиг точкой Offset задаёт метод shift.
Синтаксис
rect.translate(8, 4)
Параметры
| Параметр | Описание |
|---|---|
translateX |
На сколько сдвинуть вправо. Отрицательное число сдвигает влево. |
translateY |
На сколько сдвинуть вниз. Отрицательное число сдвигает вверх. |
Пример
Давайте сдвинем прямоугольник на 8 вправо и 4 вниз:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Rect rect = Rect.fromLTWH(10, 10, 40, 20).translate(8, 4);
return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 18 14 40 20.
Четыре числа это левый край, верхний край, ширина и высота.
Пример
Давайте сдвинем его вверх, второе число отрицательное:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Rect rect = Rect.fromLTWH(10, 10, 40, 20).translate(0, -6);
return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 10 4 40 20. Верхний край стал меньше.
Смотрите также
-
метод
fromLTWH,
который собирает прямоугольник из левого края, верхнего края, ширины и высоты -
метод
fromLTRB,
который собирает прямоугольник из четырёх краёв -
метод
fromCenter,
который собирает прямоугольник заданного размера вокруг точки -
класс
RRect,
который хранит прямоугольник со скруглёнными углами