【发布时间】: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