native_virtual_keyboard 0.2.2 copy "native_virtual_keyboard: ^0.2.2" to clipboard
native_virtual_keyboard: ^0.2.2 copied to clipboard

An almost pixel perfect Flutter replica of iOS and Android native keyboards.

native_virtual_keyboard #

An almost pixel perfect Flutter replica of iOS and Android native keyboards.

Showcase #

The original iOS 26 (Liquid Glass) keyboard on the left, the Flutter replica is on the right.

iOS 26 Showcase

Features #

  • Native Appearance: Ships with pixel-perfect designs for:
    • Android
    • iOS 18 (Classic)
    • iOS 26 (Liquid Glass)
  • Automatic Detection: Automatically selects the correct keyboard style based on the platform.
  • Theming API: Powerful theming system to customize colors, shadows, and fonts.
  • Native Behavior: Key tap animations, overlays, and sound effects matching native behavior.

Usage #

Basic #

The widget automatically detects the platform and renders the appropriate native keyboard.

VirtualKeyboard(
  controller: VirtualKeyboardController(
    layout: EnglishQwertyKeyboardLayout(),
    onKeyPress: (key) {
      // Handle key press
    },
  ),
),

Custom Theme #

You can fully customize the keyboard appearance using KeyboardTheme.

VirtualKeyboard(
  // Use a pre-built native theme
  theme: KeyboardTheme.androidDark(), 
  
  controller: ...,
),

Or create a completely custom theme:

VirtualKeyboard(
  theme: KeyboardTheme(
    backgroundColor: Color(0xFF1E3167),
    keyTheme: KeyboardKeyTheme(
      backgroundColor: Color(0xFF526087),
      pressedBackgroundColor: Color(0xFF4164C8),
      foregroundColor: Colors.white,
      shadows: [
        BoxShadow(offset: Offset(0, 1), color: Colors.black26),
      ],
    ),
    specialKeyTheme: KeyboardSpecialKeyTheme(
      backgroundColor: Color(0xFF4164C8),
      // ... special key properties
    ),
  ),
  controller: ...,
),

Getting Started #

Please see the example project for a complete implementation. This plugin has no native dependencies and can be used on any platform.

Author #

This plugin is developed by Chunky Tofu Studios.

You can support us by checking out our apps!

For commercial support please reach out to hello@chunkytofustudios.com.