微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用charts_flutter包时,如何使用从提供程序文件中获取的值设置条形的颜色

如何解决使用charts_flutter包时,如何使用从提供程序文件中获取的值设置条形的颜色

我一直在尝试使用提供程序文件中的值设置条形图中的条形颜色,以便可以从其他活动中更改颜色。如果我直接这样输入颜色值

colorFn: (Kpi kpi,_) => charts.ColorUtil.fromDartColor(Color(0xff000000)),

有效。

但是尝试这样做

colorFn: (Kpi kpi,_) => charts.ColorUtil.fromDartColor(Color(context.watch<Providers>().colorAlpha)),

它不起作用。

我遇到以下错误

I/Flutter ( 1999): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/Flutter ( 1999): The following NoSuchMethodError was thrown during performlayout():
I/Flutter ( 1999): The method '&' was called on null.
I/Flutter ( 1999): Receiver: null
I/Flutter ( 1999): Tried calling: &(4294967295)
I/Flutter ( 1999):
I/Flutter ( 1999): The relevant error-causing widget was:
I/Flutter ( 1999):   ChartContainer<String>
I/Flutter ( 1999):   file:///C:/Flutter/.pub-cache/hosted/pub.dartlang.org/charts_Flutter-0.9.0/lib/src/base_chart_state.dart:89:32
I/Flutter ( 1999): 
I/Flutter ( 1999): When the exception was thrown,this was the stack:
I/Flutter ( 1999): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
I/Flutter ( 1999): #1      new Color (dart:ui/painting.dart:109:42)
I/Flutter ( 1999): #2      _AnalyticspageState.build.<anonymous closure> (package:GapHub/screens/analyticspage.dart:86:42)
I/Flutter ( 1999): #3      new Series.<anonymous closure> (package:charts_common/src/data/series.dart:143:56)
I/Flutter ( 1999): #4      DomainHighlighter._updateColorFunctions.<anonymous closure>.<anonymous closure> (package:charts_common/src/chart/common/behavior/domain_Highlighter.dart:53:40)
I/Flutter ( 1999): #5      BaseBarRenderer.update.<anonymous closure> (package:charts_common/src/chart/bar/base_bar_renderer.dart:407:31)
I/Flutter ( 1999): #6      List.forEach (dart:core-patch/growable_array.dart:302:8)
I/Flutter ( 1999): #7      BaseBarRenderer.update (package:charts_common/src/chart/bar/base_bar_renderer.dart:342:23)
I/Flutter ( 1999): #8      BaseChart.onPostLayout.<anonymous closure> (package:charts_common/src/chart/common/base_chart.dart:584:37)
I/Flutter ( 1999): #9      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
I/Flutter ( 1999): #10     BaseChart.onPostLayout (package:charts_common/src/chart/common/base_chart.dart:583:10)
I/Flutter ( 1999): #11     CartesianChart.onPostLayout (package:charts_common/src/chart/cartesian/cartesian_chart.dart:428:11)
I/Flutter ( 1999): #12     BaseChart.layout (package:charts_common/src/chart/common/base_chart.dart:398:7)
I/Flutter ( 1999): #13     ChartContainerRenderObject.performlayout (package:charts_Flutter/src/chart_container.dart:215:12)

解决方法

我这样做的方式是

return charts.Color.fromHex(
              code: "#${Colors.primaries[Random().nextInt(Colors.primaries.length)].value}");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。