2015-04-02 50 views
1

我在Android游戏中遇到了Google键盘的一些问题。
当谷歌在键盘我的活动开启,行为变得很滑稽
- 触摸键盘区域会经过它到我的活动,并按下按钮有
- 触摸到活动(上键盘区)成为冻结和不产生任何事件如何在Android中定义Google键盘?

没有一个问题,默认的Android键盘。
那么,如何在代码中定义Google键盘?

回答

0

我的定义Google键盘的努力没有成功。
我试着用下一段代码:

var _manager = (InputMethodManager) view.Context.GetSystemService(Context.InputMethodService) 

var subType = _manager.CurrentInputMethodSubtype; 

if (subType.ContainsExtraValueKey("SupportTouchPositionCorrection") || 
       subType.ContainsExtraValueKey("KeyboardLayoutSet")) 
{ 
    //Hide keyboard 
} 

我调查额外的斯威夫特值,Swype的,原生的Android键盘,看起来像谷歌键盘可从这些键盘不同。

但是,总体来说,这是调查的不正确的方法。
什么是真正有用的 - 在我的根查看

public override IInputConnection OnCreateInputConnection(EditorInfo editorInfo) 
     { 
      editorInfo.ImeOptions = ImeFlags.NoExtractUi; 
      editorInfo.InputType = InputTypes.Null; 
      return new BaseInputConnection(this, false); 
     } 

ImeFlags.NoExtractUi

覆盖方法OnCreateInputConnection的帮我解决不正确显示谷歌键盘。
要读取的正确线程是here