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

Метод drawParagraph

Метод drawParagraph класса Canvas рисует текст через Paragraph. Текст заранее собран в абзац, позиция это Offset.

Синтаксис

canvas.drawParagraph(paragraph, offset)

Параметры

Параметр Описание
paragraph Готовый абзац текста.
offset Сдвиг Offset или положение прокрутки в пикселях.

Пример

Давайте вызовем drawParagraph на CustomPaint:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(220, 100), painter: _DrawParagraphPainter(), ), ), ), ), ); } class _DrawParagraphPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { final pb = ParagraphBuilder(ParagraphStyle())..addText('Flutter'); final paragraph = pb.build()..layout(ParagraphConstraints(width: 200)); canvas.drawParagraph(paragraph, Offset(20, 30)); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране виден результат рисования на холсте.

Пример

Давайте повторим рисунок в области побольше:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: CustomPaint( size: const Size(280, 120), painter: _DrawParagraphPainter2(), ), ), ), ), ); } class _DrawParagraphPainter2 extends CustomPainter { @override void paint(Canvas canvas, Size size) { final pb = ParagraphBuilder(ParagraphStyle())..addText('Flutter'); final paragraph = pb.build()..layout(ParagraphConstraints(width: 200)); canvas.drawParagraph(paragraph, Offset(20, 30)); } @override bool shouldRepaint(covariant CustomPainter oldDelegate) => false; }

На экране та же фигура в более широком CustomPaint.

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

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