Mobile Touch

dylantarre/animation-principles/skills/01-by-domain/mobile-touch

作者 dylantarre83597134ba8f無授權條款99 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫9 個月前更新

Use when designing iOS/Android gestures, haptic feedback, touch interactions, or native mobile animations.

僅含說明Design & Creative
AI 產生的概覽

將迪士尼十二項動畫原則套用於行動裝置手勢、觸覺回饋以及 iOS/Android 原生動態設計。

功能
此技能將迪士尼十二項動畫原則對應到具體的行動裝置實作,為觸控互動與原生行動動畫設計提供指引。內容涵蓋橡皮筋效果、預備動作、場面調度、慣性、彈簧緩動、弧線、觸覺回饋、時間預算以及安全區域處理。它也包含 iOS 彈簧動畫與觸覺回饋、Android Material 彈簧動畫的平台專屬模式,以及觸覺回饋對照表。
適用情境
適用於設計或審查 iOS 或 Android 手勢、觸覺回饋、觸控互動或原生行動動畫的情境。它適合用來決定動態時間、緩動方式、手勢驅動與預設轉場的取捨,以及觸覺與視覺的搭配。
執行需求
不需要任何指令碼或工具,僅為說明性內容。範例引用了 iOS UIKit 與 Android SpringAnimation API,但閱讀這些指引不需要任何執行環境、套件或憑證。

Mobile Touch Animation

Apply Disney's 12 animation principles to mobile gestures, haptics, and native app motion.

Quick Reference

PrincipleMobile Implementation
Squash & StretchRubber-banding, bounce on scroll limits
AnticipationPeek before reveal, long-press preview
StagingSheet presentations, focus states
Straight Ahead / Pose to PoseGesture-driven vs preset transitions
Follow Through / OverlappingMomentum scrolling, trailing elements
Slow In / Slow OutiOS spring animations, Material easing
ArcSwipe-to-dismiss curves, card throws
Secondary ActionHaptic pulse with visual feedback
TimingTouch response <100ms, transitions 250-350ms
ExaggerationBounce amplitude, haptic intensity
Solid DrawingRespect safe areas, consistent anchors
Appeal60fps minimum, gesture continuity

Principle Applications

Squash & Stretch: Implement rubber-band effect at scroll boundaries. Pull-to-refresh should stretch content naturally. Buttons compress on touch.

Anticipation: Long-press shows preview before full action. Drag threshold provides visual hint before item lifts. Swipe shows edge of destination content.

Staging: Use sheet presentations to maintain context. Dim and scale background during modal focus. Hero transitions connect views meaningfully.

Straight Ahead vs Pose to Pose: Gesture-following animations (drag, pinch) are straight ahead—driven by touch input. System transitions (push, present) are pose to pose—predefined keyframes.

Follow Through & Overlapping: Content continues moving after finger lifts (momentum). Navigation bar elements animate slightly after main content. Lists items settle with stagger.

Slow In / Slow Out: iOS uses spring physics—configure mass, stiffness, damping. Android Material uses standard easing: FastOutSlowIn. Never use linear for user-initiated motion.

Arc: Thrown cards follow parabolic arcs. Swipe-to-dismiss curves based on velocity vector. FAB expand/collapse follows natural arc path.

Secondary Action: Pair haptic feedback with visual response. Button ripple accompanies press. Success checkmark triggers light haptic.

Timing: Touch acknowledgment: <100ms. Quick actions: 150-250ms. View transitions: 250-350ms. Complex animations: 350-500ms. Haptic should sync precisely with visual.

Exaggeration: Pull-to-refresh stretches beyond natural—makes feedback clear. Error shake is pronounced. Success animations celebrate appropriately.

Solid Drawing: Respect device safe areas during animation. Maintain consistent transform origins. Account for notch/dynamic island in motion paths.

Appeal: Minimum 60fps, target 120fps on ProMotion displays. Gesture-driven animation must feel connected to finger. Interruptible animations essential.

Platform Patterns

iOS

swift
// Spring animation with follow-throughUIView.animate(withDuration: 0.5,               delay: 0,               usingSpringWithDamping: 0.7,               initialSpringVelocity: 0.5,               options: .curveEaseOut)
// Haptic pairinglet feedback = UIImpactFeedbackGenerator(style: .medium)feedback.impactOccurred()

Android

kotlin
// Material spring animationSpringAnimation(view, DynamicAnimation.TRANSLATION_Y)    .setSpring(SpringForce()        .setStiffness(SpringForce.STIFFNESS_MEDIUM)        .setDampingRatio(SpringForce.DAMPING_RATIO_MEDIUM_BOUNCY))    .start()

Haptic Guidelines

ActioniOSAndroid
Selection.selectionEFFECT_TICK
Success.successEFFECT_CLICK
Warning.warningEFFECT_DOUBLE_CLICK
Error.errorEFFECT_HEAVY_CLICK

Haptics are secondary action—always pair with visual confirmation.

來源與署名

來源:dylantarre/animation-principles位於skills/01-by-domain/mobile-touch提交8359713

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架