Перечисление PaintingStyle
Перечисление PaintingStyle ставят в Paint.style.
fill заливает фигуру, stroke рисует контур.
Синтаксис
PaintingStyle.stroke
Значения
| Значение | Описание |
|---|---|
fill |
Заливка фигуры. |
stroke |
Только обводка. |
Пример
Давайте обведём круг stroke:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _StrokePainter(),
),
),
),
),
);
}
class _StrokePainter extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()
..color = Colors.red
..style = PaintingStyle.stroke
..strokeWidth = 5;
canvas.drawCircle(Offset(size.width / 2, size.height / 2), 40, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране красное кольцо без заливки.
Пример
Давайте зальём fill:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: CustomPaint(
size: const Size(220, 100),
painter: _FillPainter(),
),
),
),
),
);
}
class _FillPainter extends CustomPainter
{
@override
void paint(Canvas canvas, Size size)
{
final paint = Paint()..color = Colors.green..style = PaintingStyle.fill;
canvas.drawRect(Rect.fromLTWH(30, 20, 160, 60), paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}
На экране зелёный залитый прямоугольник.
Смотрите также
-
перечисление
Clip,
как обрезать край -
перечисление
BorderStyle,
есть линия или нет -
перечисление
StrokeCap,
конец линии -
перечисление
TileMode,
что делать градиенту за краем