Флаттер Нужна гистограмма, на которой я могу нажимать на бары, чтобы открыть новую страницу с соответствующей информацией - PullRequest
0 голосов
/ 25 марта 2020

Мне нужна гистограмма, на которой я могу нажимать на столбцы, чтобы открыть новую страницу с соответствующей информацией - пока мой код. Я искал решение, но не смог его найти. в общей сложности это будет способствовать созданию приложения для панели мониторинга, которое я создаю

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

class SubscriberChart extends StatelessWidget {

  final List<SubscriberSeries> data;
  final String heading;
  SubscriberChart({@required this.data, String this.heading});

  @override
  Widget build(BuildContext context) {
    List<charts.Series<SubscriberSeries, String>> series
    =  [
      charts.Series(
        id: 'SubscriberSeries',
        domainFn: (SubscriberSeries series, _) => series.year,
        measureFn: (SubscriberSeries series, _)=> series.subscribers,
        data: data,
        colorFn: (SubscriberSeries series, _)=> series.barColor,
        //Bar Label
        labelAccessorFn: (SubscriberSeries series, _)=> (series.subscribers).toString(),
      )//Series(
    ];//List

    return Container(
      height: 400,
      padding: EdgeInsets.all(20),
      child: Card(
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: Column(
              children: <Widget>[
                Text( heading,
                  style: Theme.of(context).textTheme.body2, //children: <Widget>
                ),//Text
                Expanded(
                  child: charts.BarChart(series,
                      animate: true,
                      barRendererDecorator: new charts.BarLabelDecorator(),
                  // Hide domain axis.
                  //domainAxis:
                  //new charts.OrdinalAxisSpec(renderSpec: new charts.NoneRenderSpec()),
                  ),//charts.BarChart,
                )//Expanded
              ]//children: <Widget>[
          ),
        ),//Column
      ),//card
    );//Container
  }// widget build          
} //SubscriberChart2


class SubscriberSeries{
  final String year;
  final int subscribers;
  final charts.Color barColor;

  SubscriberSeries(
      {@required this.year,
        @required this.subscribers,
        @required this.barColor}
      );
}//class
...