I\'m using the latest ionic and have a simple select tag.
I have fought this issue for over four hours. The recommended answer, hideKeyboardAccessoryBar(false) failed repeatedly, with every possible combination of cordova.Keyboard, windows.Keyboard, $window.cordova.Keyboard, yes, inside deviceready, etc. etc. Resolved all conflicts between this and the older plugin.
No joy.
Solution: REMOVE THIS PLUGIN. Guess what. You get your Done button back. Run the following command:
ionic cordova plugin remove cordova-plugin-ionic-keyboard
Solution: Remove this plugin!
sudo cordova plugin remove ionic-plugin-keyboard.
I solved when put this line on config.xml:
<preference name="HideKeyboardFormAccessoryBar" value="false" />
What worked for me is doing:
if (Keyboard) {
Keyboard.hideFormAccessoryBar(false);
Keyboard.hideKeyboardAccessoryBar(false);
}
The new plugin was exposed as global Keyboard, rather than cordova.plugins.Keyboard, and then the hideFormAccessoryBar is for form elements, rather than just for keyboard typing.
Although this is a late answer, I'm sure more people will end up here while searching for a solution to this issue.
By default in your app.js in .run() the hideKeyboardAccessoryBar is set to true, so just find
if (window.cordova && window.cordova.plugins.Keyboard) {
window.cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
and change it to
if (window.cordova && window.cordova.plugins.Keyboard) {
window.cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);
}
This is what worked for me since I needed the accessory bar only in one instance, the accepted answer is old, and I am using cordova-plugin-keyboard instead. I used it with an onOpen handler.
if (window.Keyboard) {
window.Keyboard.hideFormAccessoryBar(false);
}