在Android中是否有一种方法可以检测软件(也称为“软”)键盘在屏幕上可见?
发布于 2011-05-26 06:29:55
没有直接的方法-看看http://groups.google.com/group/android-platform/browse_thread/thread/1728f26f2334c060/5e4910f0d9eb898a,安卓团队的戴安·哈克伯恩回复说。但是,您可以通过检查#onMeasure中的窗口大小是否更改来间接检测它。参见How to check visibility of software keyboard in Android?。
发布于 2011-09-23 22:10:30
试试这个:
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isAcceptingText()) {
writeToLog("Software Keyboard was shown");
} else {
writeToLog("Software Keyboard was not shown");
}
发布于 2016-07-15 10:37:02
我创建了一个可用于此目的的简单类:https://github.com/ravindu1024/android-keyboardlistener。只需将其复制到您的项目中,并按如下方式使用:
KeyboardUtils.addKeyboardToggleListener(this, new KeyboardUtils.SoftKeyboardToggleListener()
{
@Override
public void onToggleSoftKeyboard(boolean isVisible)
{
Log.d("keyboard", "keyboard visible: "+isVisible);
}
});
https://stackoverflow.com/questions/4745988
复制相似问题