#flutter #canvas #flutter-layout #custom-painting
#flutter #холст #flutter-макет #пользовательское рисование
Вопрос:
Я пытаюсь нарисовать красные точки над дочерним виджетом текстового поля следующим образом:
Для этого я обернул дочерний виджет с CustomPaint()
помощью widget:
return CustomPaint(
painter: DotsPainter(), //draws red dots based on child's size
child: child, //textbox
);
Но результат таков:
Как заставить CustomPainter «наложить» свой дочерний виджет?
Спасибо.
Ответ №1:
У CustomPaint есть 2 возможных художника:
Когда его просят нарисовать, CustomPaint сначала просит своего художника нарисовать на текущем холсте, затем он рисует своего дочернего элемента, а затем, после рисования своего дочернего элемента, он просит своего foregroundPainter нарисовать.
(курсив мой)
Поэтому, если вместо этого вы переместите свой painter в foregroundPainter, он должен работать нормально:
return CustomPaint(
foregroundPainter: DotsPainter(), //draws red dots based on child's size
child: child, //textbox
);