Back to API Reference
Enum

KeyboardEventPhase

Lifecycle phase of a keyboard event delivered by the native layer.

Remarks

WillShow, WillHide and WillChangeFrame arrive before the system animation starts and carry the destination rect plus animation metadata (animationDuration, easing). Use these to schedule an animation that runs in lockstep with the system. AnimationProgress is delivered every frame while the system animates the keyboard, with animationFraction ramping from 0 to 1. Only available on platforms where hasFrameSyncedAnimation is true (Android API 30+). On platforms without per-frame progress, no AnimationProgress events are delivered — drive the animation manually using duration+easing from the Will-phase. DidShow and DidHide arrive once the system animation has fully completed and the keyboard is in its final state.
public static readonly KeyboardEventPhase WillShow = 0

System is about to show the keyboard. Animation has not started yet.

public static readonly KeyboardEventPhase AnimationProgress = 1

System is animating keyboard show/hide/resize. Per-frame; only on platforms with frame-synced support.

public static readonly KeyboardEventPhase DidShow = 2

System has finished showing the keyboard.

public static readonly KeyboardEventPhase WillHide = 3

System is about to hide the keyboard. Animation has not started yet.

public static readonly KeyboardEventPhase DidHide = 4

System has finished hiding the keyboard.

public static readonly KeyboardEventPhase WillChangeFrame = 5

Keyboard frame is changing without a hide/show cycle. Examples: split keyboard toggle on iPad, hardware keyboard connect/disconnect, device rotation, language switch.