Метод overlaps
Метод overlaps класса Rect
возвращает истину, если прямоугольники хоть где-то накладываются.
Общего края без площади недостаточно.
Синтаксис
rect.overlaps(other)
Параметры
| Параметр | Описание |
|---|---|
other |
Второй прямоугольник. |
Пример
Давайте проверим два квадрата, которые заходят друг на друга:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Rect rect = Rect.fromLTWH(0, 0, 50, 50);
bool yes = rect.overlaps(Rect.fromLTWH(40, 40, 50, 50));
return Text(yes ? 'abcde' : '12345');
},
),
),
),
),
);
}
На экране abcde: общая часть есть.
Пример
Давайте проверим два квадрата в разных углах:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Rect rect = Rect.fromLTWH(0, 0, 20, 20);
bool yes = rect.overlaps(Rect.fromLTWH(40, 40, 20, 20));
return Text(yes ? 'abcde' : '12345');
},
),
),
),
),
);
}
На экране 12345: между квадратами зазор, общей части нет.
Смотрите также
-
метод
fromLTWH,
который собирает прямоугольник из левого края, верхнего края, ширины и высоты -
метод
fromLTRB,
который собирает прямоугольник из четырёх краёв -
метод
fromCenter,
который собирает прямоугольник заданного размера вокруг точки -
класс
RRect,
который хранит прямоугольник со скруглёнными углами