我想根据是否显示虚拟键盘来更改布局。我搜索了 API 和各种博客,但似乎找不到任何有用的东西。
可能吗?
谢谢!
原文由 Sander Versluys 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想根据是否显示虚拟键盘来更改布局。我搜索了 API 和各种博客,但似乎找不到任何有用的东西。
可能吗?
谢谢!
原文由 Sander Versluys 发布,翻译遵循 CC BY-SA 4.0 许可协议
尽管此页面上 最受好评的解决方案 是这样说的,但仍有一个 ViewCompat 版本的 setWindowInsetsAnimationCallback 可以一直运行到 Android 21。
所以现在,该解决方案中的方法一直有效到 21。
原文由 user3586940 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
2020 更新
现在这是可能的:
在 Android 11 上,您可以执行
您还可以收听显示/隐藏键盘的动画并进行相应的过渡。
我推荐阅读 Android 11 preview 和相应的 文档
安卓 11 之前
但是,这项工作尚未在
Compat
版本中提供,因此您需要求助于黑客。您可以获得窗口插图,如果底部插图大于您认为相当好的某个值(通过实验),您可以认为这是显示键盘。这不是很好,在某些情况下可能会失败,但没有框架支持。
这是对这个确切问题 https://stackoverflow.com/a/36259261/372076 的一个很好的答案。或者,这里有一个页面提供了一些不同的方法来实现这个 pre Android 11:
https://developer.salesforce.com/docs/atlas.en-us.noversion.service_sdk_android.meta/service_sdk_android/android_detecting_keyboard.htm
笔记
您必须自己处理配置更改。
http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange
样本:
然后只需更改某些视图的可见性、更新字段并更改布局文件。