在键盘上方布局Android视图

时间:2013-07-06 02:40:23

标签: java android

为了解决这个问题,我已经做了很多关于SO的阅读,但是我还没有找到解决这个问题的好方法,所以就这样了。

我想要做的是:我正在尝试使用EditText,TextView和ListView创建一个垂直的LinearLayout。我希望布局的安排方式使得当EditText聚焦时,TextView与键盘顶部齐平,键盘隐藏底部的ListView。然后,当隐藏键盘时,ListView会再次显示。

到目前为止我所拥有的(目前正在运作,但这是一个可怕的丑陋黑客)。我是否实现了此处显示的方法:How to check visibility of software keyboard in Android?以检测键盘何时显示以及可视区域的剩余大小。然后,我计算键盘上方所有固定大小元素的大小(ActionBar,TextView和随机ImageView)。然后我从可用的总面积中减去它,并将EditText设置为剩余的大小。

这样,由于EditText直接布置在TextView上方,因此它会将TextView推到键盘上方的正确高度,并为所有内容留出足够的空间。

现在,这显然让我非常不舒服,因为我一定会遇到一个小屏幕的用户,不知何故打破了这个丑陋的黑客;但是,我还没有找到更好的方法来解决这个问题。有没有人对如何做有任何建议?

我尝试的另一个解决方案是在显示软键盘时将Activity设置为adjustResize,然后隐藏我的ListView。但是,由于键盘显示/未显示的时间延迟,这最终看起来非常糟糕。

编辑:我添加了一个像素精确的表示我正在寻找的内容。Android layout

0 个答案:

没有答案