SuperAPI AI 工具集

syncfusion-flutter-gauges

前端与建站

查看项目

更新于 10-16 02:04

技能介绍

Syncfusion Flutter Gauges 技能覆盖两个相关的 Syncfusion Flutter 组件,用于数据可视化与测量值展示:SfLinearGauge(线性仪表)和 SfRadialGauge(径向仪表)。两者共享许多视觉与配置特性,但显示用途和视觉表现不同。

用途

当需要在 Flutter 应用中实现以下需求时,可使用本技能:

  • 在线性或径向刻度上展示数据,进行可视化测量表示
  • 创建带自定义样式与动画的进度指示器
  • 构建包含 KPI、指标或性能指标的仪表盘可视化
  • 实现测量显示(速度表、温度计、压力表)
  • 添加可拖动指针并触发值变化的交互式仪表
  • 在线性或圆形刻度上可视化范围与阈值
  • 创建音量、亮度或评分输入的自定义仪表控件
  • 在现代 Flutter 应用中显示模拟风格指示器
  • 构建电池、信号或状态指示器
  • 通过颜色、渐变、动画和样式自定义仪表外观

组件选择

使用 SfLinearGauge(线性仪表)的场景:

  • 需要水平或垂直测量显示
  • 数据更适合在线性刻度(条形风格)上表示
  • 希望使用条形指针表示进度或水平
  • 方向灵活性重要(可轻松旋转 90°)
  • 需要镜像效果实现对称显示
  • 构建:进度条、滑块、电池指示器、音量控制、水平仪表盘

使用 SfRadialGauge(径向仪表)的场景:

  • 需要圆形或弧形显示
  • 可视化需要指针指针(经典仪表风格)
  • 需要 360 度或半圆表示
  • 需要在仪表上放置带组件的注解
  • 需要在仪表上方显示标题
  • 需要导出为图片功能
  • 构建:速度表、RPM 表、温度计、罗盘显示、表盘、圆形进度

主要能力

线性仪表支持:水平/垂直方向、条形指针、形状与组件标记指针、镜像效果、轴轨道样式、范围分段、动画、拖动交互。

径向仪表支持:圆形/弧形、指针指针、范围指针、形状与组件标记指针、多轴、轴角度配置、标题、注解、背景图片、导出图片、动画、拖动交互。

两者共同支持:轴与刻度配置、标签格式化、范围可视化、颜色与渐变、动画、指针拖动、无障碍支持。

使用方式

安装与包设置参见入门文档。基础线性仪表示例:

import 'package:syncfusion_flutter_gauges/gauges.dart';

SfLinearGauge(
  minimum: 0,
  maximum: 100,
  barPointers: [LinearBarPointer(value: 60)],
  markerPointers: [LinearShapePointer(value: 60)],
)

基础径向仪表示例:

import 'package:syncfusion_flutter_gauges/gauges.dart';

SfRadialGauge(
  axes: [
    RadialAxis(
      minimum: 0,
      maximum: 150,
      pointers: [NeedlePointer(value: 90)],
    ),
  ],
)

可拖动交互示例:

double _value = 50.0;

// 线性仪表拖动
SfLinearGauge(
  markerPointers: [
    LinearShapePointer(
      value: _value,
      enableDragging: true,
      onChanged: (v) => setState(() => _value = v),
    ),
  ],
)

// 径向仪表拖动
SfRadialGauge(
  axes: [
    RadialAxis(
      pointers: [
        NeedlePointer(
          value: _value,
          enableDragging: true,
          onValueChanged: (v) => setState(() => _value = v),
        ),
      ],
    ),
  ],
)

常用模式包括:多范围状态指示(ranges 列表)、渐变样式(axisTrackStyle 的 gradient)、垂直方向(orientation: LinearGaugeOrientation.vertical)、自定义角度(RadialAxis 的 startAngle/endAngle)、镜像效果(isMirrored: true)。

适用场景

  • 进度指示器:使用 LinearBarPointer 或 RangePointer
  • 速度表仪表盘:使用 RadialGauge 配合 NeedlePointer 与 ranges
  • 温度显示:使用垂直 LinearGauge 或半圆 RadialGauge
  • 电池指示器:使用 LinearGauge 配合镜像效果与 ranges
  • 音量/亮度控制:使用可拖动 LinearShapePointer
  • KPI 仪表盘:使用多个 RadialGauge 配合注解
  • 评分显示:使用半圆 RadialGauge 配合 RangePointer
  • 油量表:使用 RadialGauge 配合指针与颜色范围
  • 加载指示器:使用动画 LinearBarPointer 或 RangePointer
  • 滑块替代:使用可拖动指针的交互式 LinearGauge

限制

线性仪表不支持指针指针、范围指针、注解、标题、导出图片,多轴支持有限。径向仪表不支持条形指针和镜像效果。具体属性默认值、平台支持范围、收费与授权方式、性能指标等资料暂未提供。