【问题标题】:Still visible soft keyboard仍可见软键盘
【发布时间】:2016-06-07 15:06:07
【问题描述】:

我有一个仍然可见的软键盘的奇怪案例。 简单的流程。 没有任何编辑文本的活动,其中隐藏了软键盘。 来自清单:

<activity
        android:name=".activities.MainActivity"
        android:theme="@style/MainActivity"
        android:windowSoftInputMode="stateAlwaysHidden" />

...并且还从代码中检查过

        this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

在这个活动中,我有一个包含 webview 的片段。我已经向这个 webview 添加了 touchlistener,它向它发送了“空格”键。

protected View.OnTouchListener onTouchListener = new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
                Instrumentation inst = new Instrumentation();
                inst.sendKeyDownUpSync(KeyEvent.KEYCODE_SPACE);
        }
        return false;
    }
};

它处理开始/暂停效果,其中我有该 web 视图的 vimeo 视频内容。以前我尝试通过 javascript 处理程序与 vimeo 视频播放器进行通信,但它不起作用。发送关键事件是非常简单的解决方案,并且在除一台设备之外的所有设备上都可以正常工作。在调用 touchlistener 时,在 dell t01c 上,出现软件键盘。我可以用简单的方式隐藏它

InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindow().getCurrentFocus().getWindowToken(), 0);

但它破坏了沉浸式活动模式 - 导航栏显示和消失。如何永久阻止键盘?有没有人遇到过类似的问题?

【问题讨论】:

    标签: android vimeo soft-keyboard


    【解决方案1】:

    试试这个

    把这个静态方法放在你的 Utils 类中

     public static void hideKeyboard(Activity activity) {
                try {
                    InputMethodManager input = (InputMethodManager) activity
                            .getSystemService(Activity.INPUT_METHOD_SERVICE);
                    input.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
    

    通过 Utils.hideKeyboard(YOURACTIVITY.this); 在任何你想隐藏键盘的地方调用这个方法

    【讨论】:

    • 你把问题读到最后了吗?我写道,这个解决方案正在破坏沉浸式模式。
    猜你喜欢
    • 2014-03-22
    • 2014-05-14
    • 2016-07-03
    • 2018-03-25
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多