flutter - 颤振画布,如何在子小部件上绘画?
问题描述
我正在尝试在子文本框小部件上绘制红点,如下所示:
为此,我用小部件包装了子小CustomPaint()
部件:
return CustomPaint(
painter: DotsPainter(), //draws red dots based on child's size
child: child, //textbox
);
但结果是这样的:
如何使 CustomPainter “覆盖”其子小部件?
谢谢。
解决方案
CustomPaint 有 2 种可能的画家:
当被要求绘画时,CustomPaint首先要求它的画家在当前画布上绘画,然后它绘画它的孩子,然后,在绘画它的孩子之后,它要求它的foregroundPainter绘画。
(强调我的)
因此,如果您将您的画家移动到foregroundPainter,它应该可以正常工作:
return CustomPaint(
foregroundPainter: DotsPainter(), //draws red dots based on child's size
child: child, //textbox
);
推荐阅读
- android - 尝试通过选择器共享图像时未出现主题和文本
- .net - .NET 5 中的 .NET 插件基础结构和 PowerShell:无法调用 Get-Disk cmdlet
- android-button - 单击报告错误按钮时如何收到报告错误消息
- sql - VS Code 启动配置中的反引号无法转义 SQL 查询中具有特殊字符的列
- powershell - 自动从 Invoke-RestMethod 展开所有数组并在 PowerShell 中保存到 CSV
- android - gradlew.bat 文件没有被 vscode 丢弃
- windows - 当我尝试在 Windows 10 上从系统环境变量打开路径时,它不会以列表格式显示
- javascript - 如何连接地图数组内的数组数组之间的空间?
- go - 如何在golang中检查指针的值是否为nil?
- visual-studio-code - 从 WSL 中运行 VSCode remote-ssh 到另一个远程 GCP 实例