flutter 尝试将Paint()颜色设置为主主题

y3bcpkx1  于 2023-03-04  发布在  Flutter
关注(0)|答案(2)|浏览(127)

尝试在flutter应用程序中将颜色设置为主主题时,上下文显示错误参数类型'PaintingContext'无法分配给参数类型'BuildContext'。知道如何解决此问题吗?

final paint = Paint()

  ..color = Theme.of(context).colorScheme.primary; //Thumb Background Color
  ..style = PaintingStyle.fill;
icnyk63a

icnyk63a1#

可能发生的情况是您尝试使用PaintingContext,而您应该使用BuildContext类型的对象。要解决此问题,您可以传递BuildContext或直接将颜色传递给CustomPainter

q3aa0525

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),),)

相关问题