【发布时间】:2019-12-20 18:15:12
【问题描述】:
我正在创建自己的 MaterialColor,如下所示:
Map<int, Color> pokeballRedSwatch = {
50: Color.fromRGBO(238, 21, 21, 0.1),
100: Color.fromRGBO(238, 21, 21, 0.2),
200: Color.fromRGBO(238, 21, 21, 0.3),
300: Color.fromRGBO(238, 21, 21, 0.4),
400: Color.fromRGBO(238, 21, 21, 0.5),
500: Color.fromRGBO(238, 21, 21, 0.6),
600: Color.fromRGBO(238, 21, 21, 0.7),
700: Color.fromRGBO(238, 21, 21, 0.8),
800: Color.fromRGBO(238, 21, 21, 0.9),
900: Color.fromRGBO(238, 21, 21, 1.0),
};
MaterialColor pokeballRed = MaterialColor(0xffee1515, pokeballRedSwatch);
我是这样使用它的:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: pokeballRed,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
我收到此错误:
'package:flutter/src/widgets/title.dart': Failed assertion: line 24 pos 15: 'color != null && color.alpha == 0xFF': is not true.
但是,当我用这个替换 primarySwatch 时:
Map<int, Color> pokeballWhiteSwatch = {
50: Color.fromRGBO(240, 240, 240, 0.1),
100: Color.fromRGBO(240, 240, 240, 0.2),
200: Color.fromRGBO(240, 240, 240, 0.3),
300: Color.fromRGBO(240, 240, 240, 0.4),
400: Color.fromRGBO(240, 240, 240, 0.5),
500: Color.fromRGBO(240, 240, 240, 0.6),
600: Color.fromRGBO(240, 240, 240, 0.7),
700: Color.fromRGBO(240, 240, 240, 0.8),
800: Color.fromRGBO(240, 240, 240, 0.9),
900: Color.fromRGBO(240, 240, 240, 1.0),
};
MaterialColor pokeballWhite = MaterialColor(0xfff0f0f0, pokeballWhiteSwatch);
运行良好。
据我所知,颜色不为空,两种情况下的 alpha 字节都应该是 0xff。有什么想法我哪里出错了,或者我应该在 github 上为 Flutter 打开一个问题?
【问题讨论】:
标签: flutter