如何将视图锚定到 android 软键盘

Posted

技术标签:

【中文标题】如何将视图锚定到 android 软键盘【英文标题】:How to anchor a view to the android soft keyboard 【发布时间】:2013-07-10 15:16:02 【问题描述】:

简单的问题:

如何在显示时将视图(特别是 EditText)锚定到软键盘的顶部?

我不想使用adjustPanadjustResize,因为我的活动顶部有需要保持可见的视图,并且我不想调整活动的大小。我只想在键盘上方放置一个视图。不幸的是我还没有找到解决这个问题的方法

【问题讨论】:

【参考方案1】:

没有办法做到这一点。软键盘在自己的进程中运行,而不是您应用程序中的视图。系统会尝试使视图保持在屏幕上的焦点,而您唯一能做的就是指示系统应如何操作应用程序的窗口(通过调整大小或平移)。

【讨论】:

如果没有办法做到这一点,那么 Snap Chat 是如何做到的呢?我的应用程序与那个应用程序完全不同,但我知道当您编辑图像上的文本时,Snap Chat 会显示动画并向下滑动,直到它直接位于默认软键盘上方。所以一定有可能。 也许他们只是将它滑到窗口底部。我的意思是你不能将它固定在键盘上 他们不调整他们的根视图,所以窗口的底部不仍然是屏幕的底部吗? 我知道我无法将它锚定到键盘上,但我也无法获得键盘的高度,并且我的根视图没有移动,因此我无法计算高度差。 我不知道他们在做什么。据我所知,他们实际上可能正在打开一个透明活动(没有过渡动画),将一个看起来相同的不同 EditText 锚定到其窗口底部,并让该窗口调整大小。

以上是关于如何将视图锚定到 android 软键盘的主要内容,如果未能解决你的问题,请参考以下文章

移动端H5软键盘的问题

Android软键盘不平移网页视图

为啥Android不会暂停视图完全被软键盘挡住的片段?

Android:如何按下软键盘上方的按钮

如何在Android中判断软键盘是不是弹出或隐藏

Android:关闭软键盘时显示空白