Skip to content

wolfe719/keyboard_utils

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

keyboard_utils

A Flutter plugin to check keyboard visibility and height.

Licence

sample

Install

Follow this guide

How to use

Add the imports:

import 'package:keyboard_utils/keyboard_utils.dart';
import 'package:keyboard_utils/keyboard_listener.dart';

Create the KeyboardUtils:

KeyboardUtils  _keyboardUtils = KeyboardUtils();

Attach the listener to KeyboardUtils:

final int _idKeyboardListener = _keyboardUtils.add(
        listener: KeyboardListener(willHideKeyboard: () {
      // Your code here
    }, willShowKeyboard: (double keyboardHeight) {
      // Your code here
    }));

Remember call dispose:

_keyboardUtils.unsubscribeListener(subscribingId: _idKeyboardListener);
    if (_keyboardUtils.canCallDispose()) {
      _keyboardUtils.dispose();
    }

Instead, you can also use KeyboardAware Widget:

 import 'package:keyboard_utils/widgets.dart';
 
 ....
 
 Widget buildSampleUsingKeyboardAwareWidget() {
    return Center(
      child: Column(
        children: <Widget>[
          TextField(),
          TextField(
            keyboardType: TextInputType.number,
          ),
          TextField(),
          SizedBox(
            height: 30,
          ),
          KeyboardAware(
            builder: (context, keyboardConfig) {
              return Text('is keyboard open: ${keyboardConfig.isKeyboardOpen}\n'
                  'Height: ${keyboardConfig.keyboardHeight}');
            },
          ),
        ],
      ),
    );
  }
  
  ....

To share KeyboardConfig in your widget tree, use the KeyboardConfigInheritedWidget widget.

Check the sample for more details.

Authors

Isaías Santana
Isaías Santana
Will Filho
Will Filho
flyboy
flyboy
John Wolfe
John Wolfe

About

A Flutter plugin to check keyboard visibility.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 50.4%
  • Java 16.4%
  • Kotlin 15.8%
  • Swift 11.0%
  • Ruby 5.6%
  • Objective-C 0.8%