An almost pixel perfect Flutter replica of iOS and Android native keyboards.
The original iOS 26 (Liquid Glass) keyboard on the left, the Flutter replica is on the right.
- 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.
The widget automatically detects the platform and renders the appropriate native keyboard.
VirtualKeyboard(
controller: VirtualKeyboardController(
layout: EnglishQwertyKeyboardLayout(),
onKeyPress: (key) {
// Handle key press
},
),
),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: ...,
),Please see the example project for a complete implementation. This plugin has no native dependencies and can be used on any platform.
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.
