My efforts for defining Google Keyboard were not succeeded.
I tried with next piece of code:
var _manager = (InputMethodManager) view.Context.GetSystemService(Context.InputMethodService)
var subType = _manager.CurrentInputMethodSubtype;
if (subType.ContainsExtraValueKey("SupportTouchPositionCorrection") ||
subType.ContainsExtraValueKey("KeyboardLayoutSet"))
{
//Hide keyboard
}
I investigated extra values of Swift, Swype, native Android keyboards and looked like Google keyboard was differed from those keyboards.
But, generally, it was incorrect way of investigation.
What was really helpful - overriding of method OnCreateInputConnection on my root View
public override IInputConnection OnCreateInputConnection(EditorInfo editorInfo)
{
editorInfo.ImeOptions = ImeFlags.NoExtractUi;
editorInfo.InputType = InputTypes.Null;
return new BaseInputConnection(this, false);
}
ImeFlags.NoExtractUi
helped me to fix incorrect displaying Google keyboard.
Correct thread to read is here