android - 防止软键盘被关闭

标签 android keyboard

关于如何以编程方式显示/隐藏软键盘有很多问题。

但是,众所周知,android 后退按钮会导致键盘消失。 有没有办法阻止用户通过按下后退按钮关闭键盘?

我试图捕获后退按钮,但是当键盘显示在我的 Activity 中的 onKeyDown 时,按下后退键并且软键盘可见时不会调用。

如有任何建议,我们将不胜感激。

最佳答案

我找到了解决方案:

public class KeyBoardHolder extends EditText {
    public KeyBoardHolder(Context context) {
        super(context);
    }

    public KeyBoardHolder(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public KeyBoardHolder(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
    public KeyBoardHolder(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            return true;
        }
        return false;
    }
}

这可以防止键盘被后退按钮关闭。

关于android - 防止软键盘被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3366270/

相关文章:

keyboard - 如何拦截击键?

javascript - Cordova:使用带有键盘模拟的外部条形码读取器时的键盘事件

android - 通过蓝牙在 iOS 和 Android 之间传输数据?

java - 如何在首次应用启动时触发教程(Android)

java - 将捕获的视频存储在特定文件夹中并在视频 View 中播放视频

android - 修复 VS Mobile Center 上的 "Error: Publish build artifacts failed with error: Not found PathtoPublish"

Android软键盘不平移 WebView

android - 使用 Android 应用程序的 Google+ 共享

ios - ScrollView 在显示/隐藏键盘时无法正常工作

ios - 更改 iOS SwiftUI 键盘扩展高度