尝试在flutter应用程序中将颜色设置为主主题时,上下文显示错误参数类型'PaintingContext'无法分配给参数类型'BuildContext'。知道如何解决此问题吗?
final paint = Paint() ..color = Theme.of(context).colorScheme.primary; //Thumb Background Color ..style = PaintingStyle.fill;
icnyk63a1#
可能发生的情况是您尝试使用PaintingContext,而您应该使用BuildContext类型的对象。要解决此问题,您可以传递BuildContext或直接将颜色传递给CustomPainter。
PaintingContext
BuildContext
CustomPainter
q3aa05252#
您只需添加一个颜色属性
class MyCustomPainter extends CustomPainter { final Color color; MyCustomPainter(this.color); }
然后用它来
Container( color: Colors.transparent, width: double.infinity, height: 70, child: CustomPaint( painter: MyCustomPainter(Theme.of(context).scaffoldBackgroundColor),),)
2条答案
按热度按时间icnyk63a1#
可能发生的情况是您尝试使用
PaintingContext
,而您应该使用BuildContext
类型的对象。要解决此问题,您可以传递BuildContext
或直接将颜色传递给CustomPainter
。q3aa05252#
您只需添加一个颜色属性
然后用它来