|
|
|
@ -19,6 +19,17 @@ namespace Avalonia.Android |
|
|
|
public bool IsActive { get; } |
|
|
|
} |
|
|
|
|
|
|
|
enum CustomImeFlags |
|
|
|
{ |
|
|
|
ActionNone = 0x00000001, |
|
|
|
ActionGo = 0x00000002, |
|
|
|
ActionSearch = 0x00000003, |
|
|
|
ActionSend = 0x00000004, |
|
|
|
ActionNext = 0x00000005, |
|
|
|
ActionDone = 0x00000006, |
|
|
|
ActionPrevious = 0x00000007, |
|
|
|
} |
|
|
|
|
|
|
|
class AndroidInputMethod<TView> : ITextInputMethodImpl, IAndroidInputMethod |
|
|
|
where TView : View, IInitEditorInfo |
|
|
|
{ |
|
|
|
@ -120,6 +131,17 @@ namespace Avalonia.Android |
|
|
|
if (options.Multiline) |
|
|
|
outAttrs.InputType |= global::Android.Text.InputTypes.TextFlagMultiLine; |
|
|
|
|
|
|
|
outAttrs.ImeOptions = options.ReturnKeyType switch |
|
|
|
{ |
|
|
|
TextInputReturnKeyType.Return => ImeFlags.NoEnterAction, |
|
|
|
TextInputReturnKeyType.Go => (ImeFlags)CustomImeFlags.ActionGo, |
|
|
|
TextInputReturnKeyType.Send => (ImeFlags)CustomImeFlags.ActionSend, |
|
|
|
TextInputReturnKeyType.Search => (ImeFlags)CustomImeFlags.ActionSearch, |
|
|
|
TextInputReturnKeyType.Next => (ImeFlags)CustomImeFlags.ActionNext, |
|
|
|
TextInputReturnKeyType.Previous => (ImeFlags)CustomImeFlags.ActionPrevious, |
|
|
|
_ => (ImeFlags)CustomImeFlags.ActionDone |
|
|
|
}; |
|
|
|
|
|
|
|
outAttrs.ImeOptions |= ImeFlags.NoFullscreen | ImeFlags.NoExtractUi; |
|
|
|
|
|
|
|
return _inputConnection; |
|
|
|
|