是否可以阻止用户关闭软键盘。换句话说,当我的活动可见时,屏幕上始终可以使用键盘(始终)。这可能吗?如果是这样,你将如何实现它?Android阻止键盘关闭
3
A
回答
0
你需要重写onKeyUp()
和onKeyDown()
方法,如下面,
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput
(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);
}
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
{
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput
(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
}
return super.onKeyDown(keyCode, event);
}
您也可以尝试在两种方式,通过使用OnEditorActionListener
,看看下面的代码,
EditText txtMyEdit = (EditText) findViewById(R.id.txtEdit);
txtMyEdit.setOnEditorActionListener(new OnEditorActionListener()
{
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
if (actionId == EditorInfo.IME_ACTION_DONE)
{
// your additional processing...
return true;
}
else
{
return false;
}
}
});
+1
这在某种程度上起作用,唯一的问题是焦点的变化仍然会导致键盘被解雇。我需要键盘始终保持在屏幕上。 –
0
这应该强制键盘显示与焦点无关:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(yourViewObject.getWindowToken(), 0);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
相关问题
- 1. Android关闭键盘
- 2. Android键盘阻止EditText
- 3. 阻止Android应用。关闭
- 4. Android:阻止虚拟键盘上的键
- 5. Android键盘不关闭
- 6. 关闭键盘
- 7. 关闭键盘
- 8. 阻止隐藏视图的键盘android
- 9. Android - requestFocus开关键盘关闭
- 10. 如何防止React Native关闭键盘
- 11. 停止UISearchDisplayController关闭搜索栏键盘
- 12. Flash + Chrome =键盘阻止?
- 13. WPF阻止键盘调用
- 14. MFMessageComposeViewController关闭键盘
- 15. 关闭iPad键盘
- 16. 关闭UITextField键盘?
- 17. 关闭iphone键盘
- 18. UIKeyboardTypeNumberPad关闭键盘
- 19. MonoTouch.Dialog:关闭键盘
- 20. 关闭键盘数字键盘
- 21. 的Android关闭键盘顺利
- 22. 如何在Android SearchView中关闭键盘?
- 23. 关闭Android键盘上开始
- 24. Android软键盘:“完成”“关闭”
- 25. Android检测到软键盘关闭
- 26. 关闭android默认键盘onClick EditText
- 27. 关闭输入焦点的Android键盘
- 28. 防止分割键盘并阻止它
- 29. 阻止应用关闭
- 30. 如何阻止fancyBox关闭?
你试过了什么? – Sieryuu
将Android:windowSoftInputMode =“stateAlwaysVisible”添加到AndroidManifest.xml中的活动定义中。还尝试过使用InputMethodManager的各种组合,没有任何工作。 –