主题 theme: ThemeData(primarySwatch: Color.fromRGBO(7, 193, 96, 0.9)),设置定义颜色报错
theme: ThemeData(primarySwatch: Color.fromRGBO(7, 193, 96, 0.9))报The argument type 'Color' can't be assigned to the parameter type 'MaterialColor?'. - 'Color'
primarySwatch 是一个 MaterialColor 类型的参数,而不是 Color 类型。因此,如果您想将单个颜色转换为 Material 颜色系列,需要使用 MaterialColor 的构造函数来创建:
final customColor = Color.fromRGBO(7, 193, 96, 0.9); final primarySwatch = MaterialColor( customColor.value, { 50: customColor.withOpacity(0.1), 100: customColor.withOpacity(0.2), 200: customColor.withOpacity(0.3), 300: customColor.withOpacity(0.4), 400: customColor.withOpacity(0.5), 500: customColor.withOpacity(0.6), 600: customColor.withOpacity(0.7), 700: customColor.withOpacity(0.8), 800: customColor.withOpacity(0.9), 900: customColor.withOpacity(1.0), }, ); return MaterialApp( title: 'My App', theme: ThemeData( primarySwatch: primarySwatch, ), home: MyHomePage(), );
在上面的示例中,我们首先使用 Color.fromRGBO() 构造函数创建了一个自定义的颜色,然后使用 MaterialColor 的构造函数来创建一个包含各种透明度级别的颜色系列,最后将其作为 primarySwatch 参数传递给 ThemeData

浙公网安备 33010602011771号