flutter_scatter
一个显示分散且不重叠子项集合的 Widget。
可用于创建词云

特点
- 内置的代理(螺旋、对齐、椭圆)。
- 允许您指定子元素的对齐方式。
入门
在您的 flutter 项目的 pubspec.yaml 文件中,添加以下依赖项
最新版本为
dependencies:
...
flutter_scatter: ^latest_version
在您的库中添加以下导入
import 'package:flutter_scatter/flutter_scatter.dart';
要开始使用 Flutter,请查看在线 文档。
小部件
您可以通过提供一个代理和一个部件列表来简单地创建一个Scatter。
代理负责计算位置。
例如,如果您想在圆上定位您的部件,您将使用EllipseScatterDelegate。
return Center(
child: Scatter(
delegate: EllipseScatterDelegate(
a: 185.0,
b: 185.0,
step: 1.0 / count,
),
children: widgets,
),
);

选择子元素如何与计算出的位置对齐可能很有用。默认情况下,部件的中心将放置在代理生成的位置上。
如果要左对齐,您将把Scatter的alignment参数更改为Alignment.topLeft。
默认情况下,Scatter不会尝试填充间隙(出于性能原因)。您可以通过将fillGaps参数设置为true来覆盖此行为。
例如,如果将fillGaps参数设置为false,上面的词云会看起来像这样。

代理
Scatter具有可以高度参数化的内置代理。
螺旋
- ArchimedeanSpiralScatterDelegate
- FermatSpiralScatterDelegate
- LogarithmicSpiralScatterDelegate

对齐
- AlignScatterDelegate

椭圆
- EllipseScatterDelegate
