android - 如何知道键盘(dis)是否出现在Android中?

标签 android keyboard android-edittext

我有一个 EditText 并且想在键盘出现时给它更多的行。 所以我正在寻找类似 “OnKeyboardAppearsListener” 的东西,但找不到。 我认为它一定存在,但也许以不同的方式...

最佳答案

您必须@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):更改以考虑硬键盘或屏幕键盘。

关于android - 如何知道键盘(dis)是否出现在Android中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5961927/

相关文章:

android - 自定义 ListView (复选框问题)...setOnCheckedChangeListener

java - 从 REST Web 服务向客户端发送 .apk 文件?

javascript - 将虚拟键盘创建为 AngularJs 模块?

java - 当我尝试更改其图像时,Android 对话框崩溃

android - 如何在 ListView 中隐藏键盘?

ios - IQKeyboardManager 的“完成”按钮操作在 Swift 中不起作用

c++ - 为什么 HID 在 mac 中枚举 Apple Internal Keyboard/Trackpad 3 次?

java - 如何在编辑文本聚焦时显示软键盘

EditText 的 Android 自定义形状

java - 在 Android 中使用 EditText 格式化货币字符串