【发布时间】:2021-10-27 09:57:59
【问题描述】:
这是我的代码。
import 'package:flutter/material.dart';
class WpCreateColor {
final Color wpColor = Color.fromARGB(255, 77, 203, 79);
MaterialColor createMaterialColor() {
List strengths = <double>[.05];
Map swatch = <int, Color>{};
final int r = wpColor.red, g = wpColor.green, b = wpColor.blue;
for (int i = 1; i < 10; i++) {
strengths.add(0.1 * i);
}
strengths.forEach((strength) {
final double ds = 0.5 - strength;
swatch[(strength * 1000).round()] = Color.fromRGBO(
r + ((ds < 0 ? r : (255 - r)) * ds).round(),
g + ((ds < 0 ? g : (255 - g)) * ds).round(),
b + ((ds < 0 ? b : (255 - b)) * ds).round(),
1,
);
});
return MaterialColor(wpColor.value, swatch);
}
}
它给出了以下错误:
Map<dynamic, dynamic> swatch
The argument type 'Map<dynamic, dynamic>' can't be assigned to the parameter type 'Map<int, Color>'.dartargument_type_not_assignable
我该如何解决这个问题?
【问题讨论】:
-
尝试使用
Map<int, Color> swatch = {}; -
@Sahdeep Singh 太棒了!有效。您是否认为您也可以将此信息作为答案,以便我可以接受它作为官方答案?
-
您可以添加它并接受或下面的答案也很好,您也可以接受。干杯。
标签: flutter dart dart-null-safety