没有为“ThemeData”类定义吸气剂“accentColor”

roz*_*rro 6 dart flutter

运行 Gradle 任务“assembleDebug”时,它失败并出现以下错误:

\n
Running Gradle task 'assembleDebug'...\n../../AppData/Local/Pub/Cache/hosted/pub.dev/rflutter_alert-2.0.4/lib/src/dialog_button.dart:63:43: Error: The getter 'accentColor' isn't defined for the class 'ThemeData'.\n - 'ThemeData' is from 'package:flutter/src/material/theme_data.dart' ('/C:/flutter/packages/flutter/lib/src/material/theme_data.dart').\nTry correcting the name to the name of an existing getter, or defining a getter or field named 'accentColor'.\n        color: color ?? Theme.of(context).accentColor,\n                                      ^^^^^^^^^^^\n
Run Code Online (Sandbox Code Playgroud)\n

这是包dialog_button.dart中的相应部分material

\n
decoration: BoxDecoration(\n    color: color ?? Theme.of(context).accentColor,\n    gradient: gradient,\n    borderRadius: radius,\n    border: border,\n),\n
Run Code Online (Sandbox Code Playgroud)\n

安装版本:

\n
Flutter 3.10.0-5.0.pre.29 \xe2\x80\xa2 channel master \xe2\x80\xa2 https://github.com/flutter/flutter.git\nFramework \xe2\x80\xa2 revision f74054467b (2 hours ago) \xe2\x80\xa2 2023-04-14 07:17:25 -0400\nEngine \xe2\x80\xa2 revision 4b96e38c92\nTools \xe2\x80\xa2 Dart 3.1.0 (build 3.1.0-4.0.dev) \xe2\x80\xa2 DevTools 2.23.1\n
Run Code Online (Sandbox Code Playgroud)\n

主题设置main.dart

\n
theme: ThemeData.dark().copyWith(\n    pageTransitionsTheme: PageTransitionsTheme(\n      builders: Map<TargetPlatform, PageTransitionsBuilder>.fromIterable(\n        TargetPlatform.values,\n        value: (dynamic _) =>\n            const FadeUpwardsPageTransitionsBuilder(), //applying old animation\n      ),\n    ),\n    textSelectionTheme: const TextSelectionThemeData(\n      cursorColor: Colors.grey,\n      selectionHandleColor: Colors.grey,\n    ),\n    inputDecorationTheme: const InputDecorationTheme(\n      focusedBorder: UnderlineInputBorder(\n        borderSide: BorderSide(color: Colors.grey, width: 2),\n      ),\n    ),\n  ),\n
Run Code Online (Sandbox Code Playgroud)\n

如何修复它?

\n

Md.*_*ikh 8

Theme.of(context).accentColor在我的版本(3.7.9)上已弃用,可能在更新版本上删除,您可以使用

Theme.of(context).colorScheme.secondary,
Run Code Online (Sandbox Code Playgroud)

  • 但我不在代码中直接使用 `Theme.of(context).accentColor` 。它来自“material”包,不是吗? (3认同)

Joh*_*nam 8

您不应该更新.pub_cache. 您将丢失下一个的所有更改pub get。相反,像这样添加chewie_audio到您的dev_dependenciespubspec.yaml

dev_dependencies:
  chewie_audio: ^1.5.0
Run Code Online (Sandbox Code Playgroud)

一旦原始chewie包解决了这个问题,您就可以将其从pubspec.yaml.