android – 如何在Flutter中使用不同色调的色样?
我正在尝试使用颤振来学习应用程序开发.在默认的flutter应用程序代码中,我尝试将以下代码更改为
primarySwatch: Colors.blueGrey primarySwatch: Colors.blueGrey[500] 但这会引发错误 ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter ( 4512): The following assertion was thrown building MyApp(dirty): I/flutter ( 4512): type 'Color' is not a subtype of type 'MaterialColor' of 'primarySwatch' where I/flutter ( 4512): Color is from dart:ui I/flutter ( 4512): MaterialColor is from package:flutter/src/material/colors.dart I/flutter ( 4512): int is from dart:core I/flutter ( 4512): I/flutter ( 4512): Either the assertion indicates an error in the framework itself,or we should provide substantially I/flutter ( 4512): more information in this error message to help you determine and fix the underlying cause. I/flutter ( 4512): In either case,please report this assertion by filing a bug on GitHub: I/flutter ( 4512): https://github.com/flutter/flutter/issues/new I/flutter ( 4512): I/flutter ( 4512): When the exception was thrown,this was the stack: I/flutter ( 4512): #0 new ThemeData (package:flutter/src/material/theme_data.dart:78:19) I/flutter ( 4512): #1 MyApp.build (/data/user/0/com.hackathon.gunbanana/cache/gun_bananaEMVSSI/gun_banana/lib/main.dart:11:18) I/flutter ( 4512): #2 StatelessElement.build (package:flutter/src/widgets/framework.dart:3678:28) I/flutter ( 4512): #3 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15) I/flutter ( 4512): #4 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter ( 4512): #5 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter ( 4512): #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter ( 4512): #7 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter ( 4512): #8 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter ( 4512): #9 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:852:16) I/flutter ( 4512): #10 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:823:5) I/flutter ( 4512): #11 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:769:17) I/flutter ( 4512): #12 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2205:19) I/flutter ( 4512): #13 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:768:13) I/flutter ( 4512): #14 BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:657:7) I/flutter ( 4512): #15 runApp (package:flutter/src/widgets/binding.dart:699:7) I/flutter ( 4512): #16 main (/data/user/0/com.hackathon.gunbanana/cache/gun_bananaEMVSSI/gun_banana/lib/main.dart:3:16) I/flutter ( 4512): #17 _startIsolate.<anonymous closure> (dart:isolate-patch/dart:isolate/isolate_patch.dart:279) I/flutter ( 4512): #18 _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165) I/flutter ( 4512): ════════════════════════════════════════════════════════════════════════════════════════════════════ 我该如何使用阴影? 解决方法
TLDR
做 ThemeData(primarySwatch: Colors.lime), 别 ThemeData(primarySwatch: Colors.lime.shade700), primarySwatch不是一种颜色.这是所有可能的物质色调. 如果您查看ThemeData的文档,它会说:
这意味着在需要时材料组件将使用primary [500],但也可能使用其他阴影! 事实上,primarySwatch是设置一堆不同颜色的快捷方式: > primaryColor 但你可以根据你的需要分别覆盖它们,使用Color(而不是primarySwatch要求的MaterialColor) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |