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

Метод contains

Метод contains класса RRect возвращает истину, если точка внутри фигуры с учётом скругления. Угол описанного прямоугольника может оказаться уже снаружи, если радиус его срезал.

Синтаксис

rrect.contains(Offset(50, 50))

Параметры

Параметр Описание
point Проверяемая точка.

Пример

Давайте проверим центр квадрата со скруглёнными углами:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Builder( builder: (context) { RRect shape = RRect.fromRectAndRadius(Rect.fromLTWH(0, 0, 100, 100), Radius.circular(40)); bool yes = shape.contains(Offset(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) { RRect shape = RRect.fromRectAndRadius(Rect.fromLTWH(0, 0, 100, 100), Radius.circular(40)); bool yes = shape.contains(Offset(1, 1)); return Text(yes ? 'abcde' : '12345'); }, ), ), ), ), ); }

На экране 12345: точка в углу описанного квадрата, но за дугой скругления.

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

  • метод fromRectAndRadius,
    который скругляет прямоугольник одним радиусом на всех углах
  • метод fromLTRBR,
    который собирает скруглённый прямоугольник из краёв и одного радиуса
  • метод inflate,
    который расширяет скруглённый прямоугольник и сохраняет радиусы
  • класс Rect,
    который хранит прямоугольник без скругления
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить