简介
在有些场景中,我们会需要绘制一些高度定制化的组件,比如 UI 设计师给我们出了个难题 —— 弄一个奇形怪状的边框。看在 UI 设计师是一个漂亮小姐姐的份上,又不好意思说这个做不了(那样也很没面子😂)。这个时候我们就不能直接使用 Flutter 自带的那些组件了,而是需要手动绘制组件,那就会需要用到 CuntomPaint
组件。CustomPaint
组件和前端的 Canvas
差不多,允许我们在一个画布上绘制各种元素,包括点、线、矩形、圆弧、文字、图片等等。
CustomPaint 介绍
CustomPaint
是一个 Widget,其中有三个重要的参数:
CustomPaint(
child: childWidget(),
foregroundPainter: foregroundPainter(),
painter: backgroundPainter(),
)
child
:CustomPaint
的子组件;painter
和foregroundPainter
:都是CustomPainter
类,用于定义canvas
绘制的内容。区别在于,首先是执行painter
的绘制指令。然后是在背景上渲染child
子组件。最后,foregroundPainter
的内容会绘制