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