阻止隐藏视图的键盘android
问题描述:
我已经做了很好的搜索,但我从来没有找到一个工作的解决方案,所以这就是为什么我张贴在这里。阻止隐藏视图的键盘android
我有一个android应用程序,其中有一些TableView(EditText,TextView和CheckBox)。
我实现了我自己的键盘,所以我可以控制用户输入的信息。
我的TableLayout在ScrollView中,因为TableLayout可以有很多行。
我的问题是当我的键盘显示出来时,它隐藏了EditText的焦点。通常,android会将EditText向上推,以使其可见,但不适用于我的情况。我该如何解决这个问题?
答
您是否尝试过的属性windowSoftInputMode
添加到您的清单文件:
android:windowSoftInputMode="adjustResize"
或
android:windowSoftInputMode="adjustPan"
的<activity>
标签内。
答
总是有同样的问题。我发现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);
}
}
你好TronicZornB,是的,我试了一下,并没有为我工作:/ – Tristan 2013-04-22 15:15:33
你认为问题是,我的键盘太大,因此Android不知道该怎么处理这个问题?因为我的键盘比Android的文本键盘大1倍和半个时间,例如 – Tristan 2013-04-22 15:17:56
@Tristan,这很奇怪,但实际上为我工作的是使用'adjustUnspecified'。你试过那个吗? – TronicZomB 2013-04-22 15:18:37