
syncfusion-flutter-gauges
Implements Syncfusion Flutter Gauge widgets (SfLinearGauge, SfRadialGauge) for data visualization and measurement displays in Flutter apps. Use when building speedometers, progress indicators, KPI dashboards, or radial/linear measurement UIs. This skill covers gauge axes, pointers, ranges, annotations, and customization for both linear and radial gauge types.
- Installs
- 51
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-gauges- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-flutter-gauges automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Syncfusion Flutter Gauges
This skill covers two related Syncfusion Flutter components for data visualization and measurement displays: SfLinearGauge (Linear Gauge) and SfRadialGauge (Radial Gauge). While they share many visual and configuration features, they serve different display purposes with distinct visual representations.
When to Use This Skill
Use this skill when you need to:
- Display data on linear or radial scales for visual measurement representation
- Create progress indicators with custom styling and animations
- Build dashboard visualizations with KPIs, metrics, or performance indicators
- Implement measurement displays (speedometers, thermometers, pressure gauges)
- Add interactive gauges with draggable pointers and value changes
- Visualize ranges and thresholds on linear or circular scales
- Create custom gauge controls for volume, brightness, or rating inputs
- Display analog-style indicators in modern Flutter applications
- Build battery, signal, or status indicators with gauge representations
- Customize gauge appearance with colors, gradients, animations, and styling
Choosing the Right Component
Use SfLinearGauge (Linear Gauge) when:
- You need horizontal or vertical measurement displays
- Your data is best represented on a linear scale (bar-style)
- You want bar pointers for progress or level indicators
- Orientation flexibility is important (rotate 90° easily)
- Mirror effect is needed for symmetric displays
- Building: progress bars, sliders, battery indicators, volume controls, horizontal dashboards
Use SfRadialGauge (Radial Gauge) when:
- You need circular or arc-shaped displays
- Your visualization requires a needle pointer (classic gauge style)
- You want 360-degree or semi-circle representations
- Annotations with widgets need to be placed on the gauge
- Title support is needed above the gauge
- Export to image functionality is required
- Building: speedometers, RPM meters, temperature gauges, compass displays, clock faces, circular progress
Key Differences Summary:
| Feature | SfLinearGauge | SfRadialGauge |
|---|---|---|
| Primary Shape | Linear (horizontal/vertical) | Circular/Arc |
| Orientation | Horizontal, Vertical | Circular (360°) |
| Bar Pointer | ✅ Yes | ❌ No |
| Needle Pointer | ❌ No | ✅ Yes |
| Range Pointer | ❌ No | ✅ Yes |
| Marker Pointer | ✅ Shape & Widget | ✅ Shape & Widget |
| Mirror Effect | ✅ Yes | ❌ No |
| Annotations | ❌ No | ✅ Yes |
| Title Support | ❌ No | ✅ Yes |
| Export to Image | ❌ No | ✅ Yes |
| Multiple Axes | ❌ Limited | ✅ Yes |
| Axis Angles | N/A | ✅ Configurable |
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and package setup for both components
- Basic SfLinearGauge implementation
- Basic SfRadialGauge implementation
- Package dependencies and imports
- Quick comparison and first examples
Component Overview
📄 For Linear Gauge: references/linear-gauge-overview.md
- SfLinearGauge widget overview and features
- When to use Linear Gauge vs Radial Gauge
- Orientation options (horizontal/vertical)
- Linear gauge-specific capabilities
- Basic linear gauge configuration
📄 For Radial Gauge: references/radial-gauge-overview.md
- SfRadialGauge widget overview and features
- When to use Radial Gauge vs Linear Gauge
- Circular and arc configurations
- Radial gauge-specific capabilities
- Title and multi-axis support
- Basic radial gauge configuration
Axes and Scales
📄 Read: references/axes.md
- Axis customization for both gauges
- Linear axis (track, thickness, colors)
- Radial axis (circular arc, angles, radius)
- Minimum and maximum values
- Axis intervals and scale
- Axis line styling and gradients
- Labels and ticks positioning
- Inverse axis direction
- Custom scales and renderers
- Multiple axes (radial)
Pointers
📄 Read: references/pointers.md
- Pointer types overview
- Shape/Marker pointers (both gauges)
- Widget pointers (both gauges)
- Bar pointer (Linear Gauge only)
- Needle pointer (Radial Gauge only)
- Range pointer (Radial Gauge only)
- Multiple pointers configuration
- Pointer positioning and styling
- Pointer comparison and selection guide
Ranges
📄 Read: references/ranges.md
- Range visualization concepts
- Adding ranges to Linear Gauge
- Adding ranges to Radial Gauge
- Range colors and gradients
- Range positioning and thickness
- Multiple ranges configuration
- Range use cases and patterns
Customization and Styling
📄 Read: references/customization.md
- Visual appearance for both gauges
- Colors (solid and gradients)
- Thickness and sizing
- Border customization
- Corner and edge styles
- Background colors and images
- Theme integration
- Label and tick styling
Animation
📄 Read: references/animation.md
- Animation support in both gauges
- Pointer animations
- Axis and range animations
- Animation duration and easing
- enableAnimation property
- Animation callbacks
- Loading animations
Interaction
📄 Read: references/interaction.md
- Pointer dragging for both gauges
- enableDragging property
- Value change events
- onValueChangeStart, onValueChanging, onValueChanged, onValueChangeEnd
- Touch and gesture support
- Interactive value updates
- Restricting drag ranges
Accessibility
📄 Read: references/accessibility.md
- Screen reader support
- Semantic labels for gauges
- WCAG compliance
- Keyboard navigation
- Accessibility for Linear Gauge
- Accessibility for Radial Gauge
- Best practices
Advanced Features
📄 Read: references/advanced-features.md
- Mirror gauge (Linear Gauge)
- Annotations with widgets (Radial Gauge)
- Export to image (Radial Gauge)
- Background images (Radial Gauge)
- Custom label formatting
- Custom renderers and builders
- Special configurations
- Edge cases and troubleshooting
Quick Start Examples
For detailed setup instructions, see Getting Started.
Basic Linear Gauge
import 'package:syncfusion_flutter_gauges/gauges.dart';
SfLinearGauge(
minimum: 0,
maximum: 100,
barPointers: [LinearBarPointer(value: 60)],
markerPointers: [LinearShapePointer(value: 60)],
)
Basic Radial Gauge
import 'package:syncfusion_flutter_gauges/gauges.dart';
SfRadialGauge(
axes: [
RadialAxis(
minimum: 0,
maximum: 150,
pointers: [NeedlePointer(value: 90)],
),
],
)
Interactive Gauge (Draggable)
double _value = 50.0;
// Linear with dragging
SfLinearGauge(
markerPointers: [
LinearShapePointer(
value: _value,
enableDragging: true,
onChanged: (v) => setState(() => _value = v),
),
],
)
// Radial with dragging
SfRadialGauge(
axes: [
RadialAxis(
pointers: [
NeedlePointer(
value: _value,
enableDragging: true,
onValueChanged: (v) => setState(() => _value = v),
),
],
),
],
)
Common Patterns
Multi-Range Status Indicators:
ranges: [
LinearGaugeRange(startValue: 0, endValue: 30, color: Colors.red),
LinearGaugeRange(startValue: 30, endValue: 70, color: Colors.yellow),
LinearGaugeRange(startValue: 70, endValue: 100, color: Colors.green),
]
Gradient Styling:
axisTrackStyle: LinearAxisTrackStyle(
gradient: LinearGradient(colors: [Colors.blue, Colors.purple]),
)
Vertical Orientation:
SfLinearGauge(
orientation: LinearGaugeOrientation.vertical,
barPointers: [LinearBarPointer(value: 75)],
)
Custom Angles (Semi-Circle):
RadialAxis(startAngle: 180, endAngle: 0)
Mirror Effect:
SfLinearGauge(isMirrored: true)
Key Properties
SfLinearGauge Essential Properties
minimum- Minimum value of the axis (default: 0)maximum- Maximum value of the axis (default: 100)interval- Interval between axis labelsorientation- Horizontal or vertical orientationisMirrored- Mirror the gauge elementsisAxisInversed- Reverse axis directionaxisTrackStyle- Styling for axis track (color, thickness, gradient, borders)axisTrackExtent- Extend axis track at both endsshowAxisTrack- Show/hide axis trackshowLabels- Show/hide axis labelsshowTicks- Show/hide tick markslabelPosition- Inside or outside label placementtickPosition- Inside or outside tick placementlabelOffset- Distance between ticks and labelslabelFormatterCallback- Custom label formattingranges- List of LinearGaugeRange for colored segmentsmarkerPointers- List of shape or widget pointersbarPointers- List of bar pointers (progress style)animationDuration- Animation duration in millisecondsonGenerateLabels- Custom label generation callbackvalueToFactorCallback- Custom scale conversion
SfRadialGauge Essential Properties
title- GaugeTitle for gauge headingbackgroundColor- Background color for gaugeaxes- List of RadialAxis (supports multiple)enableLoadingAnimation- Show loading animationanimationDuration- Animation duration in milliseconds
RadialAxis Essential Properties
minimum- Minimum value of axis (default: 0)maximum- Maximum value of axis (default: 100)interval- Interval between labelsstartAngle- Starting angle of axis (default: 270)endAngle- Ending angle of axis (default: 270)radiusFactor- Radius size factor (0-1)centerX- Horizontal center position (0-1)centerY- Vertical center position (0-1)isInversed- Reverse axis directioncanScaleToFit- Position axis based on anglescanRotateLabels- Rotate labels based on angleshowFirstLabel- Show/hide first labelshowLastLabel- Show/hide last labelmaximumLabels- Max labels per 100 logical pixelsaxisLineStyle- AxisLineStyle for axis lineshowAxisLine- Show/hide axis lineshowLabels- Show/hide labelsshowTicks- Show/hide ticksaxisLabelStyle- GaugeTextStyle for labelslabelFormat- Label format string (prefix/suffix)numberFormat- NumberFormat for globalizationlabelsPosition- Inside or outside placementticksPosition- Inside or outside placementmajorTickStyle- MajorTickStyle customizationminorTickStyle- MinorTickStyle customizationminorTicksPerInterval- Minor ticks counttickOffset- Distance from axislabelOffset- Distance from ticksoffsetUnit- Logical pixels or factorbackgroundImage- AssetImage for axis backgroundranges- List of GaugeRangepointers- List of GaugePointerannotations- List of GaugeAnnotationonLabelCreated- Label creation callbackonAxisTapped- Axis tap callbackonCreateAxisRenderer- Custom renderer callback
LinearGauge Range Properties
startValue- Start value of rangeendValue- End value of rangecolor- Range colorstartWidth- Starting widthendWidth- Ending widthposition- Inside, outside, or crossrangeShapeType- Flat or curve shape
RadialGauge Range Properties
startValue- Start value of rangeendValue- End value of rangecolor- Range colorstartWidth- Starting widthendWidth- Ending widthgradient- Gradient for rangerangeOffset- Offset from axissizeUnit- Logical pixels or factorlabel- Text label for range
Pointer Properties (Common)
value- Pointer valueenableDragging- Enable pointer draggingenableAnimation- Enable pointer animationanimationDuration- Animation durationanimationType- Animation curve typeonValueChangeStart- Drag start callbackonValueChanging- Drag progress callbackonValueChanged- Value changed callbackonValueChangeEnd- Drag end callback
Common Use Cases
- Progress Indicators - Use LinearBarPointer or RangePointer for progress tracking
- Speedometer Dashboard - Use RadialGauge with NeedlePointer and ranges
- Temperature Display - Use vertical LinearGauge or semi-circle RadialGauge
- Battery Indicator - Use LinearGauge with mirror effect and ranges
- Volume/Brightness Control - Use draggable LinearShapePointer
- KPI Dashboard - Use multiple RadialGauges with annotations
- Rating Display - Use RadialGauge with semi-circle and RangePointer
- Fuel Gauge - Use RadialGauge with needle and color ranges
- Loading Indicator - Use animated LinearBarPointer or RangePointer
- Slider Alternative - Use interactive LinearGauge with draggable pointer
FAQ
What does the syncfusion-flutter-gauges skill do?
Implements Syncfusion Flutter Gauge widgets (SfLinearGauge, SfRadialGauge) for data visualization and measurement displays in Flutter apps. Use when building speedometers, progress indicators, KPI dashboards, or radial/linear measurement UIs. This skill covers gauge axes, pointers, ranges, annotations, and customization for both linear and radial gauge types.
How do I install syncfusion-flutter-gauges?
Run npx skills add https://github.com/syncfusion/flutter-ui-components-skills --skill syncfusion-flutter-gauges in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-flutter-gauges/ (personal) or .claude/skills/syncfusion-flutter-gauges/ (project).
Which AI agents can use syncfusion-flutter-gauges?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-flutter-gauges safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-flutter-gauges?
It is published by syncfusion in syncfusion/flutter-ui-components-skills. It has 51 recorded installs.
More from syncfusion/flutter-ui-components-skills
syncfusion-flutter-calendar-datepicker
syncfusion/flutter-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-flutter-cartesian-charts
syncfusion/flutter-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-flutter-datagrid
syncfusion/flutter-ui-components-skills
Implements Syncfusion Flutter DataGrid (SfDataGrid) for displaying and manipulating tabular data in Flutter applications. Use when working with data grids, data tables, or column-based data presentation using the syncfusionflutterdatagrid package. This skill covers DataGridSource, GridColumn configuration, sorting, filtering, paging, editing, and selection.
syncfusion-flutter-chat
syncfusion/flutter-ui-components-skills
Implements Syncfusion Flutter Chat (SfChat) and AI AssistView (SfAIAssistView) widgets for conversational interfaces in Flutter apps. Use when building chat UIs, AI chatbot interfaces, or messaging screens with support for message bubbles, composers, and action buttons. This skill covers conversation area customization, placeholder screens, theming, RTL support, and AI assistant integration.
syncfusion-flutter-circular-charts
syncfusion/flutter-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-flutter-sliders
syncfusion/flutter-ui-components-skills
Implements Syncfusion Flutter Slider controls (SfSlider, SfRangeSlider, SfRangeSelector) for numeric value selection and range inputs. Use when working with single-value sliders, range selection, or chart-range controllers in Flutter apps. This skill covers thumb and tooltip customization, ticks, dividers, RTL support, drag modes, and chart integrations.
Popular mobile skills
design-mobile-apps
designed-by-ai/skills
Design mobile app screens with Sleek, edit Sleek projects, and implement their designs in React Native or HTML.
ios-design
uizze.sh
Design and review iOS UI/UX for iPhone apps in SwiftUI, UIKit, or React Native. Use for mobile app design, screen redesigns, navigation flows, typography, forms, keyboard and safe-area layout, and accessibility checks. Apply Apple Human Interface Guidelines and consult real product references through the optional Uizze connection.
vercel-react-native-skills
vercel-labs/agent-skills
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
animate-expo
emilkowalski/skills
Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web animation use animate.
xcode-project-setup
firebase/agent-skills
Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).
firebase-remote-config-basics
firebase/agent-skills
Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting.