错误:无法将参数类型“MaterialAccentColor”分配给参数类型“MaterialColor”

Posted

技术标签:

【中文标题】错误:无法将参数类型“MaterialAccentColor”分配给参数类型“MaterialColor”【英文标题】:Error: The argument type 'MaterialAccentColor' can't be assigned to the parameter type 'MaterialColor' 【发布时间】:2021-08-22 16:38:20 【问题描述】:

我正在编写一个基本的 Flutter 应用程序,但仅针对某些特定颜色出现此错误。

import 'package:flutter/material.dart' ;
import 'pages/home_page.dart';

void main()
  runApp(MyApp());


class MyApp extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: HomePage(),
      themeMode : ThemeMode.light,
      theme: ThemeData(
        primarySwatch: Colors.orangeAccent
      ),
    );
  

当我将主要色板颜色分配给 Colors.orangeColors.red 时,它工作正常。但是当我切换到任何强调色(例如Colors.orangeAccent)时,它会返回此错误。

如何使用强调色?

【问题讨论】:

【参考方案1】:

您不能将Colors.orangeAccent 分配给primarySwatch,因为Colors.orangeAccent 的数据类型与primarySwatch 所期望的不同。

您可以将Colors.orangeAccent 分配给MaterialAppaccentColor 属性。

【讨论】:

感谢您的帮助

以上是关于错误:无法将参数类型“MaterialAccentColor”分配给参数类型“MaterialColor”的主要内容,如果未能解决你的问题,请参考以下文章

错误:无法将参数类型“String”分配给参数类型“Uri”。 'Uri'来自'dart:core' [重复]

错误:无法将参数类型“void Function(ImageInfo, bool)”分配给参数类型“ImageStreamListener”

将函数作为参数传递错误:无法将类型“someType.type”的值转换为预期的参数类型“someType”

错误:无法将类型“(_)->()”的值转换为预期的参数类型“(()-> Void)?”

我不断收到“无法将参数'_inputVerifier'声明为抽象类型'InputVerifier'”错误

我收到错误无法将参数类型“RemoteMessage”分配给参数类型“Map<String, dynamic>”