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

问题描述

我正在编写一个基本的 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)时,它会返回此错误

如何使用强调色?

解决方法

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

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