如何在没有view的情况下获取Activity的windowToken?
现在,我尝试在用户触摸键盘外部时隐藏软键盘:
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(editView.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
我想将逻辑放在我的基本活动类中,所以是否可以在没有视图的情况下获取WindowToken?
Now, I try to hide the softkeyboard when user touch outside the keyboard:
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(editView.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
I want put the logic in my base activity class, so if it is possible to getWindowToken without View?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
在 Activity 中编写
OnPageChangeListener
时,我遇到了完全相同的问题。您可以使用这些解决方案之一。要么:要么:
I faced exactly the same problem, while writing
OnPageChangeListener
within an Activity. You can use one of these solutions. Either:or:
当然你可以使用:
或者你可以参考 SO Quest
Surely you can use:
or you can refer to SO Quest
简单使用
getWindow().getDecorView().getWindowToken()
Simply use
getWindow().getDecorView().getWindowToken()
您可以直接从窗口的 WindowManager.LayoutParams 获取令牌
You could just get the token from the
WindowManager.LayoutParams
of the window directly在 kotlin 中:
或者,如果你有一个视图:
In kotlin:
Or, If you have a view:
您可以在清单文件活动标记上尝试此操作以隐藏键盘。
You can try this on your manifest file activity tag to hide keyboard.