Я собираю демонстрационное приложение, чтобы помочь мне изучить различные функции Flutter, но в данный момент я испытываю повторяющуюся ошибку, с которой я не сталкивался раньше.
Каждый раз, когда я создаю приложение в Android Studio на любом симуляторе (Android или iOS), генерируется ошибка:
Тип 'Color' не является подтип типа 'MaterialColor'
Вот исключение и вывод консоли:
Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Running Xcode build...
Xcode build done. 16.9s
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building MyApp(dirty):
flutter: type 'Color' is not a subtype of type 'MaterialColor'
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter: https://github.com/flutter/flutter/issues/new?template=BUG.md
flutter:
flutter: The relevant error-causing widget was:
flutter: MyApp
flutter: file:///Users/JGolding/Desktop/Desktop/Work/App-and-Web-Development/App-Development/1-Demo-App/demo_app/lib/main.dart:4:23
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0 MyApp.build (package:demoapp/main.dart:13:35)
flutter: #1 StatelessElement.build (package:flutter/src/widgets/framework.dart:4291:28)
flutter: #2 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4223:15)
flutter: #3 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
flutter: #4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
flutter: #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
flutter: #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
flutter: #7 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
flutter: #8 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1028:16)
flutter: #9 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:999:5)
flutter: #10 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:942:17)
flutter: #11 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2412:19)
flutter: #12 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:941:13)
flutter: #13 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:819:7)
flutter: #14 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:804:7)
flutter: #23 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)
flutter: #24 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)
flutter: #25 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
flutter: (elided 8 frames from package dart:async and package dart:async-patch)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
Debug service listening on ws://127.0.0.1:60030/z8ejaMsnyI0=/ws
Syncing files to device iPhone 11 Pro Max...
Похоже, что проблема в файле main.dart
, который находится здесь :
import 'package:demoapp/screens/home/home_page.dart';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Demo App',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Colors.blue[200],
),
home: HomePage(),
);
}
}
На данный момент в ThemeData()
я использую primaryColor: Colors.blue[200]
. По какой-то причине приложение собирается, если я изменю это значение на primarySwatch: Colors.blue
, а затем снова вернусь к primaryColor: Colors.blue[200]
. Это никогда не случалось со мной раньше, и я не уверен, почему это происходит при первой сборке приложения в симуляторе. Почему это может происходить? Есть ли способ отсортировать его?
Я использую primaryColor
, так как хочу использовать указанный оттенок c синего в качестве основного цвета. Если это проблема с primaryColor
, возможно, есть способ использовать primarySwatch
и иметь возможность выбрать указанный c цвет в семье?