无法将参数类型“ List <MaterialAccentColor>”分配给参数类型“ MaterialColor”

时间:2020-09-23 10:03:11

标签: flutter dart

为什么不能将accents设置为颜色?

这是我的代码:

Text('Hello',
     style: TextStyle(color: Colors.accents),
     )

3 个答案:

答案 0 :(得分:0)

重点是列表,因此您无法分配给color

 /// The material design accent color swatches.
  static const List<MaterialAccentColor> accents = <MaterialAccentColor>[
    redAccent,
    pinkAccent,
    purpleAccent,
    deepPurpleAccent,
    indigoAccent,
    blueAccent,
    lightBlueAccent,
    cyanAccent,
    tealAccent,
    greenAccent,
    lightGreenAccent,
    limeAccent,
    yellowAccent,
    amberAccent,
    orangeAccent,
    deepOrangeAccent,
  ];

您可以使用索引值使用accents颜色

Text('Hello',
     style: TextStyle(color: Colors.accents[0]),
     )

答案 1 :(得分:0)

@ martiX4您好,我发现您现在将无效类型传递给TextStyle小部件,作为@abhishek给出的答案,您可以根据自己的情况使用index accents [index]

例如,如果您使用redAccent,则可以使用

List<MaterialAccentColor> accents = <MaterialAccentColor>[
redAccent,blueAccent]; 

// accents[0] => for redAccent
// accents[0] => for blueAccent

Text('Hello', style: TextStyle(color: Colors.accents[0]),)

答案 2 :(得分:0)

实际上,口音不是color,而是包含大量list(口音颜色)的colors常量列表口音)。 它的实现是:

static const List<MaterialAccentColor> accents = <MaterialAccentColor>[
  redAccent,
  pinkAccent,
  purpleAccent,
  deepPurpleAccent,
  indigoAccent,
  blueAccent,
  lightBlueAccent,
  cyanAccent,
  tealAccent,
  greenAccent,
  lightGreenAccent,
  limeAccent,
  yellowAccent,
  amberAccent,
  orangeAccent,
  deepOrangeAccent,
]

您可以通过以下link

在flutter网站上找到它

现在我们知道它是list,要检索其元素之一,只需执行List_name[element_index]。因此,在本例中,我们将执行accents [color_index]。 一个小的使用示例:

Text('Hello',
     style: TextStyle(color: Colors.accents[0]),
     ),

{。{1}}的Colors.accents [0]

谢谢。