我有一个布局,顶部有一个大的 EditText 视图 + 底部有一堆按钮。使用 adjust_resize 激活/停用 ime 时,EditText 会收缩和扩展。底部的按钮被推到 ime 上方。
我想在显示 ime 时隐藏这些按钮,以便为 EditText 视图提供足够的空间。
到目前为止,我已经尝试了以下方法:
子类化 EditText 并为活动提供在视图的 OnSizeChanged 上注册回调的选项。
使用此回调将按钮(实际上是布局容器)的可见性更改为 GONE。
这项工作正常,并且在 ime 弹出时确实隐藏了按钮。但是,EditText 不会扩展到新的可用空间。此外,当关闭 ime 时,EditText 字段现在比原来大,将(现在显示的)按钮推到屏幕外。
我还应该补充一点,当在视图中输入第一个字母时,ime 会显示单词选项,屏幕会重新绘制,EditText 会填充空白空间。
关于如何让它发挥作用的任何想法?或者更好的是,是否有更简单的解决方案来满足我的要求?
谢谢...
注意:在我看来,滚动不是一个好的选择。