1.2 KiB
1.2 KiB
Progress Indicators - M3 Expressive Component
Overview
Progress indicators in M3 Expressive provide visual feedback for determinate or long-running tasks (>5 seconds). The expressive variant often includes wavy paths or organic animations.
Types
- Determinate: Shows specific progress (0-100%).
- Indeterminate: Shows continuous activity without a specific end.
- Wavy Progress: Expressive variant with organic wave motion.
Implementation in Flutter
1. Standard Linear Progress
LinearProgressIndicator(
value: _progressValue,
backgroundColor: colorScheme.surfaceVariant,
color: colorScheme.primary,
minHeight: 8,
borderRadius: BorderRadius.circular(4),
)
2. Wavy Linear Progress (Custom implementation)
// Placeholder for Wavy Linear Progress
// Similar to WavyLoadingIndicator but linear
Best Practices
- Determinate over Indeterminate: Whenever possible, show exact progress.
- Placement: Usually placed at the top of a container or pinned to the bottom of an app bar.
- Smoothness: Animate the
valueproperty usingTweenAnimationBuilderto avoid jumps.