2010-12-15 74 views
0

从读数来看,我使用onSizeChanged方法得到软键盘的高度。我想要做的是在软键盘关闭时显示一个列表来代替软键盘,并在需要键盘时再次移除列表。如何在键盘打开/关闭事件后改变视图

我现在这样做的方式是,当按下按钮时,列表将变为可见,并且使用InputMethodManager解除键盘锁定。按钮的onClick方法存在问题,我将列表设置为可见,但键盘隐藏动画仍在继续。这会导致可见的闪烁发生,因为设置的可见调用会触发布局重做,并且在键盘仍然存在时列表变得可见,从而将其他视图推到视野之外。键盘动画完成后,其他视图将再次可见,此过程会导致可见的闪烁...

任何人有任何建议我应该如何处理? 此刻拉我的头发,因为在onLayout或onSizeChanged期间设置列表不会让列表变得可见...

谢谢! Dave。

+0

所选答案是否有帮助?我认为我在这里留下了类似的问题:http://stackoverflow.com/questions/35585538/hide-the-android-soft-keyboard-without-affecting-the-layout/35625311?noredirect=1#comment58936916_35625311 你是否设法解决你的问题? – Petrakeas 2016-02-26 12:08:15

回答

1

您可以在您的活动中实施onConfigurationChanged(Configuration)方法。此外,为了得到这个方法叫你应该在你的清单文件中添加信息,在什么情况下,该方法应该叫这样的指定:

android:configChanges="keyboardHidden|orientation" 

here了解更多详细信息。