Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
163 of 1024 menu
◀ ▶

Класс Rect

Класс Rect хранит прямоугольник в координатах холста. Прямоугольник по левому верхнему углу, ширине и высоте собирает метод fromLTWH. Его передают командам Canvas, например drawRect.

Синтаксис

Rect.fromLTWH(0, 0, 120, 48)

Методы

Метод Описание
contains Проверяет, лежит ли точка внутри прямоугольника.
deflate Сжимает прямоугольник на одно число со всех сторон.
expandToInclude Расширяет прямоугольник так, чтобы он покрыл и второй.
fromCenter Центрирует rect с заданными width и height.
fromCircle Собирает квадрат, описанный вокруг круга.
fromLTRB Задаёт rect через left, top, right и bottom.
fromLTWH Задаёт rect через left, top, width и height.
inflate Расширяет прямоугольник на одно число со всех сторон.
intersect Оставляет общую часть двух прямоугольников.
lerp Смешивает края двух прямоугольников в заданной доле.
overlaps Проверяет, есть ли у двух прямоугольников общая часть.
shift Сдвигает прямоугольник на точку, не меняя ширину и высоту.
translate Сдвигает прямоугольник на два числа и возвращает новый. Ширина и высота не меняются.

Пример

Давайте нарисуем Rect на Canvas:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _RectDemo(), ), ), ), ), ); } class _RectDemo extends CustomPainter { @override void paint(Canvas canvas, Size size) { final rect = Rect.fromLTWH(30, 20, 160, 60); canvas.drawRect(rect, Paint()..color = Colors.brown); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране коричневый прямоугольник.

Пример

Давайте проверим contains:

void main() { print(Rect.fromLTWH(0,0,100,50).contains(Offset(10,10))); }

В консоли true.

Смотрите также

  • класс Size,
    ширина и высота
  • класс Offset,
    точка или сдвиг
  • класс RRect,
    прямоугольник со скруглением
  • виджет ColoredBox,
    залить дочерний виджет цветом
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить