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

Метод addRRect

Метод addRRect класса Path копирует форму RRect в Path. В путь копируются края и радиусы углов из RRect.

Синтаксис

Path.addRRect()

Пример

Давайте построим контур через addRRect:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _PathAddrrectPainter(), ), ), ), ), ); } class _PathAddrrectPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.addRRect(RRect.fromRectAndRadius( Rect.fromLTWH(40, 20, 140, 60), Radius.circular(12))); final paint = Paint() ..color = Colors.deepPurple ..strokeWidth = 3 ..style = PaintingStyle.stroke; canvas.drawPath(path, paint); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране линия или контур, построенный через Path.

Пример

Давайте утолщим линию:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _PathAddrrectPainter2(), ), ), ), ), ); } class _PathAddrrectPainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { final path = Path(); path.addRRect(RRect.fromRectAndRadius( Rect.fromLTWH(40, 20, 140, 60), Radius.circular(12))); paint.strokeWidth = 6; final paint = Paint() ..color = Colors.deepPurple ..strokeWidth = 3 ..style = PaintingStyle.stroke; canvas.drawPath(path, paint); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране тот же контур с более толстой линией.

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

  • класс Paint,
    кисть холста
  • класс Canvas,
    холст внутри CustomPainter
  • перечисление BoxShape,
    прямоугольник или круг
  • перечисление BorderStyle,
    есть линия или нет
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить