AppDurations class
Sistema de duraciones para animaciones y delays en toda la aplicación
Proporciona duraciones estandarizadas para diferentes tipos de animaciones y transiciones, siguiendo las mejores prácticas de UX.
Uso básico:
// Animaciones simples
AnimatedContainer(
duration: AppDurations.md, // 300ms
curve: Curves.easeInOut,
);
// Delays y debouncing
Timer(AppDurations.searchDebounce, () {
// Ejecutar búsqueda después de 300ms
});
// Snackbars
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('Mensaje'),
duration: AppDurations.snackbarDuration,
),
);
Guía de uso:
xxsaxs(50-100ms): Micro-interacciones instantáneassmamd(150-300ms): Animaciones estándar (más usadas)lgaxl(400-500ms): Transiciones complejasxxl+(600ms+): Animaciones especiales o loading states
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- apiSimulatedDelay → const Duration
- 1500ms - Delay simulado para llamadas API en modo mock/desarrollo
- fast → const Duration
- @deprecated Use smd instead
- filterDebounce → const Duration
- 400ms - Debounce para filtros (tiempo entre cambios de filtro)
- giant → const Duration
- 2000ms (2 segundos) - Gigante (notificaciones, toasts)
- hoverEffect → const Duration
- 100ms - Duración de hover effects (cambio visual al pasar el cursor)
- huge → const Duration
- 1000ms (1 segundo) - Enorme (loading states, progress)
- lg → const Duration
- 400ms - Lento (animaciones deliberadas)
- massive → const Duration
- 1500ms (1.5 segundos) - Masivo (animaciones largas)
- md → const Duration
- 300ms - Mediano (ideal para la mayoría de animaciones estándar)
- mdl → const Duration
- 350ms - Mediano lento (transiciones más perceptibles)
- mds → const Duration
- 250ms - Mediano rápido (transiciones suaves)
- medium → const Duration
- @deprecated Use md instead
- mega → const Duration
- 3000ms (3 segundos) - Mega (mensajes importantes)
- pageTransition → const Duration
- 150ms - Duración de transición entre páginas/rutas
- quickDebounce → const Duration
- 200ms - Debounce rápido para inputs simples (validación en tiempo real)
- rippleEffect → const Duration
- 200ms - Duración de ripple effects (Material Design)
- searchDebounce → const Duration
- 300ms - Debounce para búsqueda (evita llamadas API excesivas al escribir)
- shimmerAnimation → const Duration
- 1500ms - Duración de la animación shimmer de carga (skeleton screens)
- slow → const Duration
- @deprecated Use lg instead
- sm → const Duration
- 150ms - Muy rápido (micro-interacciones)
- smd → const Duration
- 200ms - Rápido (ideal para micro-interacciones y feedback inmediato)
- snackbarDuration → const Duration
- 2000ms - Duración para mostrar snackbars/toasts (tiempo visible)
- tooltipDelay → const Duration
- 500ms - Timeout para mostrar tooltips (hover delay)
- ultraFast → const Duration
- @deprecated Use xs instead
- verySlow → const Duration
- @deprecated Use xxxl instead
- xl → const Duration
- 500ms - Extra lento (transiciones importantes)
- xs → const Duration
- 100ms - Extra rápido (cambios de estado rápidos)
- xxl → const Duration
- 600ms - Extra extra lento (animaciones destacadas)
- xxs → const Duration
- 50ms - Ultra rápido (hover effects, ripples instantáneos)
- xxxl → const Duration
- 800ms - Muy lento (animaciones complejas)