yeradis..
7
看着日期,可能你有一个问题的解决方案,否则:
以下是我对另一个相关问题的回答:有没有办法判断是否显示了软键盘?
但我在这里复制完整的回复以避免死链接:
请检查您的活动的配置更改
这适用于您的AndroidManifest.xml
您将需要@Override您的Activity的onConfigurationChanged(android.content.res.Configuration)的公共方法,以便能够处理,例如,这个值:
hardKeyboardHidden,
keyboard,
keyboardHidden
你会看到类似这样的东西:
HARDKEYBOARDHIDDEN_NO
HARDKEYBOARDHIDDEN_UNDEFINED
HARDKEYBOARDHIDDEN_YES
KEYBOARDHIDDEN_NO
KEYBOARDHIDDEN_UNDEFINED
KEYBOARDHIDDEN_YES
KEYBOARD_12KEY
KEYBOARD_NOKEYS
KEYBOARD_QWERTY
KEYBOARD_UNDEFINED
在那里你可以阅读这样的东西:
public int hardKeyboardHidden A flag indicating whether the hard keyboard has been hidden.
public int keyboard The kind of keyboard attached to the device.
public int keyboardHidden A flag indicating whether any keyboard is available.
更新:
这是我正在谈论的具体样本:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
// Checks whether a hardware keyboard is available
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
}
}
我希望这对你有帮助
这是hardKeyboard的一个示例,这对softKeyboard不起作用 (9认同)