阻止隐藏视图的键盘android

问题描述:

我已经做了很好的搜索,但我从来没有找到一个工作的解决方案,所以这就是为什么我张贴在这里。阻止隐藏视图的键盘android

我有一个android应用程序,其中有一些TableView(EditText,TextView和CheckBox)。

我实现了我自己的键盘,所以我可以控制用户输入的信息。

我的TableLayout在ScrollView中,因为TableLayout可以有很多行。

我的问题是当我的键盘显示出来时,它隐藏了EditText的焦点。通常,android会将EditText向上推,以使其可见,但不适用于我的情况。我该如何解决这个问题?

您是否尝试过的属性windowSoftInputMode添加到您的清单文件:

android:windowSoftInputMode="adjustResize" 

android:windowSoftInputMode="adjustPan" 

<activity>标签内。

+0

你好TronicZornB,是的,我试了一下,并没有为我工作:/ – Tristan 2013-04-22 15:15:33

+0

你认为问题是,我的键盘太大,因此Android不知道该怎么处理这个问题?因为我的键盘比Android的文本键盘大1倍和半个时间,例如 – Tristan 2013-04-22 15:17:56

+0

@Tristan,这很奇怪,但实际上为我工作的是使用'adjustUnspecified'。你试过那个吗? – TronicZomB 2013-04-22 15:18:37

总是有同样的问题。我发现windowsSoftInputMode =“adjustPan”或其他选项不适用于自定义键盘。

我CustomKeyboard是一个类,实现了KeyboardView,一个XML链接到本keyboardView并有2种方法可以显示或隐藏它...

如果某人有一个想法,为什么adjustPan不与自定义工作键盘,请让我们知道!

特里斯坦

我有自定义键盘使用KeyboardView同样的问题,我通过设置项目选择与短暂的延迟解决它。

public boolean isCustomKeyboardVisible() { 
return keyboardView.getVisibility() == View.VISIBLE; 
} 

public void showCustomKeyboard() { 
    if (!isCustomKeyboardVisible()) { 
    keyboardView.setVisibility(View.VISIBLE); 
      //Calling my custom listener 
    onKeyboardVisibilityChanged.visibilityChanged(true); 
    listView.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      listView.setSelection(position); 
     } 
    }, 50); 
} 
} 

public void hideCustomKeyboard() { 
if (isCustomKeyboardVisible()) { 
    keyboardView.setVisibility(View.GONE); 
    onKeyboardVisibilityChanged.visibilityChanged(false); 
} 
}