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