10

自 ICS 以来,我对软键盘的动画有疑问。我使用软键盘进行了数据输入活动。窗口设置为“adjustResize”,以使所有视图都适合软键盘上方的屏幕。自从 Android 4 以来,打开键盘的花哨动画,让我们屏幕上的视图“弹跳”。

看起来,好像视图被布局了,然后键盘打开,然后屏幕被重新布局,导致一种跳跃的用户体验。

有一个类似的问题:(如何在Java中显示/隐藏没有任何动画(例如淡入淡出)的软键盘?)但是,那里的解决方案对我不起作用。(在 4.2.1 测试)

如果有人对实现以下解决方案之一有一些线索,我会很高兴:

  • 禁用活动的软键盘动画
  • 检索软键盘的大小以手动设置屏幕大小

干杯,弗洛里安

4

1 回答 1

5

您无法获得 soft-keyboard 的高度。我认为没有必要这样做,您可以通过尝试不同的方法来实现相同的用例。

如果您不想重新布局屏幕,您可以使用android:windowSoftInputMode属性以便在软键盘出现时对屏幕渲染有更多的控制。

例如:如果您不想调整视图大小,可以将以下行放入manifest文件中。这将简单地在活动顶部显示键盘。

<activity android:windowSoftInputMode="adjustPan"> 

您可以检查其他选项以获得所需的功能。

为了更好的理解和更多的控制,你可以参考这个教程

希望这会给您一些有关实现用例的提示。

于 2013-01-12T18:49:02.470 回答