Метод contains
Метод contains класса Path
возвращает истину, если точка попала в закрашенную область контура.
Точка снаружи контура даёт ложь.
Синтаксис
path.contains(Offset(50, 50))
Параметры
| Параметр | Описание |
|---|---|
point |
Проверяемая точка. |
Пример
Давайте проверим центр круга:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Path path = Path()..addOval(Rect.fromCircle(center: Offset(50, 50), radius: 30));
bool yes = path.contains(Offset(50, 50));
return Text(yes ? 'abcde' : '12345');
},
),
),
),
),
);
}
На экране abcde: точка (50, 50) в центре круга.
Пример
Давайте проверим точку снаружи:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
Path path = Path()..addOval(Rect.fromCircle(center: Offset(50, 50), radius: 30));
bool yes = path.contains(Offset(0, 0));
return Text(yes ? 'abcde' : '12345');
},
),
),
),
),
);
}
На экране 12345: точка (0, 0) за пределами круга.
Смотрите также
-
метод
getBounds,
который возвращает прямоугольник вокруг контура -
метод
addRect,
который добавляет прямоугольник в контур -
метод
addOval,
который добавляет овал в контур -
класс
CustomPaint,
который рисует контур на холсте