我有一个EditText,想要在键盘出现时给它更多行。 所以我正在寻找像“OnKeyboardAppearsListener”这样的东西但找不到它。 我认为它必须存在,但也许以不同的方式......
答案 0 :(得分:5)
您必须 @Override onConfigurationChanged
才能处理运行时更改:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks whether a hardware or on-screen keyboard is available
if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) {
Toast.makeText(this, "Keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) {
Toast.makeText(this, "Keyboard hidden", Toast.LENGTH_SHORT).show();
}
}
取自here的示例。看看here,了解您可能想要使用的键盘相关(以及其他)字段。
编辑(RivieraKid):更改为考虑硬盘或屏幕键盘。