AIR Native Extension for alternate way to input text on AIR.
- Download com.github.airext.NativeKeyboardText.ane ANE and add it as dependencies to your project. Optionally you may include corresponded
com.github.airext.NativeKeyboardText.swclibrary to your project. - Edit your Application Descriptor file with registering new native extensions like this:
<extensions>
<extensionID>com.github.airext.NativeKeyboardText</extensionID>
</extensions>Set iOS minimum version to 12.0 in iPhone InfoAdditions:
<iPhone>
<!-- A list of plist key/value pairs to be added to the application Info.plist -->
<InfoAdditions>
<![CDATA[
<key>MinimumOSVersion</key>
<string>12.0</string>
]]>
</InfoAdditions>
</iPhone>A very simple example:
// listen to Keyboard's Input event
NativeKeyboardText.shared.addEventListener(NativeKeyboardTextInputEvent.INPUT, function(event: NativeKeyboardTextInputEvent): void {
log("Keyboard input: " + event.text);
});
// show Keyboard using shared instance method.
var params: NativeKeyboardTextParams = new NativeKeyboardTextParams();
NativeKeyboardText.shared.showKeyboard(params);Full documentation could be found here
Use NativeKeyboardText.shared to obtain an instance of NativeKeyboardText class, it is designed to be a singleton.
NativeKeyboardText.isSupportedindicates if NativeKeyboardText is supported on the current platform;NativeKeyboardText.extensionVersionreturns extension version number;
NativeKeyboardText.shared.showKeyboard(NativeKeyboardTextParams)shows native keyboard parametrized based onNativeKeyboardTextParamsinstance.NativeKeyboardText.shared.showKeyboard.hideKeyboard()hides native keyboard if presented from this ANE.
NativeKeyboardTextShowEvent.SHOWdispatches when native keyboard is opened.NativeKeyboardTextHideEvent.HIDEdispatches after native keyboard hides, providesoldText: StringandnewText: Stringproperties that could be used to handle user input.NativeKeyboardTextInputEvent.INPUTdispatches when user taps on a return button, containstextproperty with current user input.
The appearance of native keyboard could be changed with NativeKeyboardTextParams object:
NativeKeyboardTextParams.textspecifies initial text to display in a text field above native keyboard;NativeKeyboardTextParams.isSecureTextEntryindicates if input should be secured;NativeKeyboardTextParams.keyboardTypekeyboard type fromNativeKeyboardTypeenum.NativeKeyboardTextParams.returnKeyTypea type of return button fromReturnKeyTypeenum.NativeKeyboardTextParams.autoCorrectionauto correction type fromAutoCorrectionenum.NativeKeyboardTextParams.autoCapitalizationauto capitalization type fromAutoCapitalizationenum.NativeKeyboardTextParams.spellCheckingspell checking type fromSpellCheckingenum.NativeKeyboardTextParams.maxCharactersCountindicates how mach characters user able to enter.
This enum maps to UIKeyboardType, next values are supported:
NativeKeyboardType.DefaultNativeKeyboardType.ASCIICapableNativeKeyboardType.NumbersAndPunctuationNativeKeyboardType.URLNativeKeyboardType.NumberPadNativeKeyboardType.PhonePadNativeKeyboardType.NamePhonePadNativeKeyboardType.EmailAddressNativeKeyboardType.DecimalPadNativeKeyboardType.TwitterNativeKeyboardType.WebSearchNativeKeyboardType.ASCIICapableNumberPad
Maps to UIReturnKeyType, next values are supported:
ReturnKeyType.DefaultReturnKeyType.GoReturnKeyType.GoogleReturnKeyType.JoinReturnKeyType.NextReturnKeyType.RouteReturnKeyType.SearchReturnKeyType.SendReturnKeyType.YahooReturnKeyType.DoneReturnKeyType.EmergencyCallReturnKeyType.Continue
Maps to UITextAutocapitalizationType, next values are supported:
AutoCapitalization.NoneAutoCapitalization.WordsAutoCapitalization.SentencesAutoCapitalization.AllCharacters
Maps to UITextAutocorrectionType, supports next values:
AutoCorrection.DefaultAutoCorrection.NoAutoCorrection.Yes
Maps to UITextSpellCheckingType, supports next values:
SpellChecking.DefaultSpellChecking.NoSpellChecking.Yes
