Android 检测软键盘隐藏状态
每当软键盘状态从“显示”变为“隐藏”时,都希望Android 检测软键盘隐藏状态,android,android-softkeyboard,Android,Android Softkeyboard,每当软键盘状态从“显示”变为“隐藏”时,都希望Toasta文本。这里我只想从EditText中getText(),每次我点击EditText时,软键盘必须打开,按下后退或返回后,文本必须显示为Toast 提前感谢没有用于键盘状态检测的直接侦听器,因此您需要一些编程实现,如下所示 private boolean wasKeyboardOpen = false; try { activityMainView.getViewTreeObserver().addOnGlobalLayo
Toast
a文本。这里我只想从EditText
中getText()
,每次我点击EditText
时,软键盘必须打开,按下后退或返回后,文本必须显示为Toast
提前感谢没有用于键盘状态检测的直接侦听器,因此您需要一些编程实现,如下所示
private boolean wasKeyboardOpen = false;
try {
activityMainView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
activityMainView.getWindowVisibleDisplayFrame(r);
int heightDiff = activityMainView.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) {
wasKeyboardOpen = true;
// kEYBOARD IS OPEN
} else {
if (wasKeyboardOpen) {
wasKeyboardOpen = false;
// Do your toast here
}
// kEYBOARD IS HIDDEN
}
}
});
} catch (Throwable e) {
e.printStackTrace();
}
将textChangeListener用于带有标志的textView,当您在textView中并按下back时,只需为您的消息祝酒@你能帮我发一些代码吗。我会非常感谢你的。谢谢老板。它对我有用。我只是错过了一个优势。请不要说嘘声,伙计,只是朋友,接受答案,以便其他人可以信任和使用答案。你肯定,我还有一个问题,使其成为强有力的答案。过了一段时间,我的吐司一次又一次地冒出来。只是想知道为什么这个代码会一次又一次地运行?因为默认情况下键盘是隐藏的。由于它是一个globallayout侦听器,所以每当活动大小内的布局或视图发生微小更改时,都会调用此函数。因此,为了进行确认,您需要管理最后一个状态的布尔标志。我只是更新了答案。