android - 我如何在 main dart 中运行图表? - flutter

标签 android ios flutter

我正尝试在 flutter 中运行库中的图表。我无法使用 main.dart 运行。

主飞镖:

import './widgets/chart.dart';

void main() {
  runApp(
    new MaterialApp(
      home: PointsLineChart(),
    ),
  );
}

图表.飞镖:

import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts;

class PointsLineChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  PointsLineChart(this.seriesList, {this.animate});

  /// Creates a [LineChart] with sample data and no transition.
  factory PointsLineChart.withSampleData() {
    return new PointsLineChart(
      _createSampleData(),
      // Disable animations for image tests.
      animate: false,
    );
  }

  @override
  Widget build(BuildContext context) {
    return new charts.LineChart(seriesList,
        animate: animate,
        defaultRenderer: new charts.LineRendererConfig(includePoints: true));
  }

  /// Create one series with sample hard coded data.
  static List<charts.Series<LinearSales, int>> _createSampleData() {
    final data = [
      new LinearSales(0, 5),
      new LinearSales(1, 25),
      new LinearSales(2, 100),
      new LinearSales(3, 75),
    ];

    return [
      new charts.Series<LinearSales, int>(
        id: 'Sales',
        colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
        domainFn: (LinearSales sales, _) => sales.year,
        measureFn: (LinearSales sales, _) => sales.sales,
        data: data,
      )
    ];
  }
}

/// Sample linear data type.
class LinearSales {
  final int year;
  final int sales;

  LinearSales(this.year, this.sales);
}

我遇到的错误是在 main.dart 中我需要输入一些内容才能运行 chart.dart。在 PointsLineChart() 中,

它给我错误:

预计需要 1 个参数,但找到 0 个。dart(not_enough_required_arguments) (新) PointsLineChart(List> seriesList, {bool animate}) → PointsLineChart

最佳答案

PointsLineChart 的构造函数有两个参数:

PointsLineChart(this.seriesList, {this.animate});

而在您的 main.dart 中,您没有给出参数:

home: PointsLineChart(),// here you need to add two arguments!!!

修改如下代码:

runApp(
new MaterialApp(
  home: PointsLineChart(PointsLineChart.createSampleData(), animate: false),
),

);

同时将 _createSampleData 更改为 createSampleData 以使其公开。

enter image description here

关于android - 我如何在 main dart 中运行图表? - flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642315/

相关文章:

java - Android Java JSON 未处理的异常

ios - WebView 和 UISwipeGestureRecognizer

ios - 在 Swift 中重写 layout.subviews 的删除控制

flutter - 向自定义按钮添加文本

android - 将 ImageView 放在布局中的 ImageView 上

Android - 如何在整个应用程序生命周期中使用 ORMLite dbhelper

dictionary - 不断向 map 添加数据

layout - 如何更简单的实现flutter布局?

android - iOS 上的蓝牙连接

ios - 自动布局与框架尺寸