v1.2.1graphite
有向グラフ、ツリー、フローチャートを簡単に描画するためのFlutterウィジェット。グラフのインタラクションを作成するためのジェスチャーAPIを含む。
任意の複雑さのインタラクティブな有向グラフ(フローチャート)をタイル的な長方形形式で描画するためのFlutterウィジェット。
{"sdk":"flutter"}^1.0.2^3.1.0{"sdk":"flutter"}以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
Actions Status https://img.shields.io/pub/v/graphite https://img.shields.io/badge/package-flutter-blue https://img.shields.io/github/license/lempiy/flutter_graphite https://img.shields.io/github/stars/lempiy/flutter_graphite https://img.shields.io/github/languages/code-size/lempiy/flutter_graphite
:arrow_right: :black_square_button: Flutter widget to draw direct graphs, trees, flowcharts in rectanglar manner.
https://raw.githubusercontent.com/lempiy/flutter_graphite/HEAD/image/cba.svg
The only reason why the latest release of Graphite become possible is because of Armed Forces Of Ukraine. Ukrainian defenders are those who saved the author's life last spring and currently continue fighting with absolute evil in my country. If you liked this lib and want to support future releases I would be grateful for your donations to Come Back Alive Charity which directly supports UA Army with equipment.
Thank you.
vertical custom
flowchart
label
digimon
import 'package:flutter/material.dart';
import 'package:graphite/graphite.dart';
void main() => runApp(MyApp());
const list = '['
'{"id":"A","next":[{"outcome":"B"}]},'
'{"id":"B","next":[{"outcome":"C"},{"outcome":"D"},{"outcome":"E"}]},'
'{"id":"C","next":[{"outcome":"F"}]},'
'{"id":"D","next":[{"outcome":"J"}]},{"id":"E","next":[{"outcome":"J"}]},'
'{"id":"J","next":[{"outcome":"I"}]},'
'{"id":"I","next":[{"outcome":"H"}]},{"id":"F","next":[{"outcome":"K"}]},'
'{"id":"K","next":[{"outcome":"L"}]},'
'{"id":"H","next":[{"outcome":"L"}]},{"id":"L","next":[{"outcome":"P"}]},'
'{"id":"P","next":[{"outcome":"M"},{"outcome":"N"}]},'
'{"id":"M","next":[]},{"id":"N","next":[]}'
']';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Graphite',
theme: ThemeData(
primarySwatch: Colors.teal,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: InteractiveViewer(
constrained: false,
child: DirectGraph(
list: nodeInputFromJson(list),
defaultCellSize: const Size(100.0, 100.0),
cellPadding: const EdgeInsets.all(20),
orientation: MatrixOrientation.Vertical,
),
)
);
}
}
Widget labels.MIT © lempiy