设备处于横向模式时显示软键盘
此代码似乎不适用于横向模式:
EditText destinationSearch = (EditText) findViewById(R.id.destinationSearch);
destinationSearch.requestFocus(); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(destinationSearch, InputMethodManager.SHOW_IMPLICIT);
有没有办法让软键盘在横向模式下显示?
This code seems not to work in Landscape mode:
EditText destinationSearch = (EditText) findViewById(R.id.destinationSearch);
destinationSearch.requestFocus(); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(destinationSearch, InputMethodManager.SHOW_IMPLICIT);
Is there any solution to show the soft keyboard in Landscape mode ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要使用强制显示
You need to use show forced
原因是横向模式最常将软键盘放在新的全屏窗口中。正如 Bakih 所说,强制会起作用,但全屏窗口有更多效果,SHOW_FORCED 也是如此。
我更喜欢添加
到我的 EditTextStyle 中,这样我总是可以捕获 onGlobalLayout() 等。现在您可以使用 SHOW_IMPLICIT。只需确保您的 UI 在如此小的区域中看起来不错,并在不需要时删除自动更正。
The reason is that landscape mode most often put soft keyboard in a new full screen window. As Bakih said, force will work but the full screen window have more effects and so do SHOW_FORCED.
I prefer adding
to my EditTextStyle so I can always catch onGlobalLayout() and so on. Now you can use SHOW_IMPLICIT. Just make sure your UI looks good in such a small area and remove autoCorrect if not needed.
更简单的 XML 改变答案
https://stackoverflow.com/a/13179855/1029110
因此添加
android:imeOptions="flagNoExtractUi
和
Simpler XML changes answer
https://stackoverflow.com/a/13179855/1029110
So add
android:imeOptions="flagNoExtractUi
and
<requestFocus />