La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Diseño y creatividad · SKILL.md

common-mobile-animation

common-mobile-animation

Apply motion design principles for mobile apps covering timing curves, transitions, gestures, and performance-conscious animations. Use when implementing screen transitions, gesture-driven interactions, shared-element animations, or optimizing animation frame rates on iOS, Android, or Flutter.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentación de la Skill

GitHub

name: common-mobile-animation description: Apply motion design principles for mobile apps covering timing curves, transitions, gestures, and performance-conscious animations. Use when implementing screen transitions, gesture-driven interactions, shared-element animations, or optimizing animation frame rates on iOS, Android, or Flutter. metadata: triggers: files: - '/*_page.dart' - '/_screen.dart' - '**/.swift' - '/*Activity.kt' - '/*Screen.tsx' keywords: - Animation - AnimationController - Animated - MotionLayout - transition - gesture

Mobile Animation

Priority: P1 (HIGH)

Timing Standards

DurationRangeUse Case
Short100-150msToggles, cell press
Medium250-350msNavigation, modals
Long400-600msShared element, complex state

Hard limit: Never exceed 600ms for any animation.

Workflow

  1. Choose duration from timing table based on interaction type.
    • Use 250-350ms for medium navigation/modals and 400-600ms for long shared-element or complex-state transitions; state the selected range in quick-start examples.
    • A quick-start example must demonstrate the Long 400-600ms shared-element or complex-state pattern; do not substitute the Medium range.
  2. Select easing curve per platform — Curves.fastOutSlowIn (Material) or easeInOut (iOS). Never use linear.
  3. Animate GPU-friendly properties (transform, opacity). Avoid width/height which trigger layout.
  4. Wire gestures using onPan / interactivePopGesture for fluid, interruptible UX.
  5. Verify frame rate in profiler — target 60fps with no jank frames.

See implementation examples for Flutter and iOS animation patterns.

References

Anti-Patterns

  • No linear easing: Feels robotic; always use platform-standard curves.
  • No layout thrashing: Avoid animating properties that trigger layout (width, padding).
  • No memory leaks: Always dispose() AnimationControllers in Flutter; invalidate timers in iOS.
  • No blocking UI: Run heavy calculations outside animation frames.

Related Topics

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • interactivePopGesture
Skills guardadas