'Type' Color 'не является подтипом' MaterialColor '. Ошибка появляется каждый раз, когда я создаю свое приложение Flutter на симуляторе (Android и iOS) в Android Studio - PullRequest
0 голосов
/ 07 марта 2020

Я собираю демонстрационное приложение, чтобы помочь мне изучить различные функции 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 цвет в семье?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...