android – 如何在Flutter中使用不同色调的色样?

android – 如何在Flutter中使用不同色调的色样?,第1张

概述我正在尝试使用颤振来学习应用程序开发.在默认的flutter应用程序代码中,我尝试将以下代码更改为 primarySwatch: Colors.blueGreyprimarySwatch: Colors.blueGrey[500] 但这会引发错误 ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═════════════════════════════════ 我正在尝试使用颤振来学习应用程序开发.在默认的Flutter应用程序代码中,我尝试将以下代码更改为

primarySwatch: colors.blueGreyprimarySwatch: 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' whereI/Flutter ( 4512):   color is from dart:uiI/Flutter ( 4512):   Materialcolor is from package:Flutter/src/material/colors.dartI/Flutter ( 4512):   int is from dart:coreI/Flutter ( 4512): I/Flutter ( 4512): Either the assertion indicates an error in the framework itself,or we should provIDe substantiallyI/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/newI/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的文档,它会说:

The primary color palette (the [primarySwatch]),chosen from
one of the swatches defined by the material design spec. This
should be one of the maps from the [colors] class that do not
have “accent” in their name.

这意味着在需要时材料组件将使用primary [500],但也可能使用其他阴影!

事实上,primarySwatch是设置一堆不同颜色的快捷方式:

> primarycolor
> primarycolorlight / Dark
> accentcolor
> ……

但你可以根据你的需要分别覆盖它们,使用color(而不是primarySwatch要求的Materialcolor)

总结

以上是内存溢出为你收集整理的android – 如何在Flutter中使用不同色调的色样?全部内容,希望文章能够帮你解决android – 如何在Flutter中使用不同色调的色样?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1000521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存