Android 在键盘上方显示整个多行编辑文本。不仅仅是写行
最近,我一直在开发一个聊天界面,其中有一些自定义组件,主要是EditText,供用户在上面写消息。第一个图像是一个示例布局,不一定是我正在使用的,但概念是相同的。另外两个图像是UI的当前状态,以及我想要实现的目标 仅供参考,这是活动中的一个片段,具有底部导航组件。我要澄清这一点,因为我是否应该应用Android 在键盘上方显示整个多行编辑文本。不仅仅是写行,android,android-layout,android-edittext,android-softkeyboard,Android,Android Layout,Android Edittext,Android Softkeyboard,最近,我一直在开发一个聊天界面,其中有一些自定义组件,主要是EditText,供用户在上面写消息。第一个图像是一个示例布局,不一定是我正在使用的,但概念是相同的。另外两个图像是UI的当前状态,以及我想要实现的目标 仅供参考,这是活动中的一个片段,具有底部导航组件。我要澄清这一点,因为我是否应该应用windowSoftInputMode=“adjustResize”恐怕底部导航组件也会出现在键盘上方,按钮也会出现 所以我猜问题是:如何让键盘保持在整个编辑文本的下方?这可能吗?这是我最关心的问题
windowSoftInputMode=“adjustResize”
恐怕底部导航组件也会出现在键盘上方,按钮也会出现
所以我猜问题是:如何让键盘保持在整个编辑文本的下方?这可能吗?这是我最关心的问题
谢谢 在深入兔子洞之后,我基本上找到了三种方法:
ViewTreeObserver.OnGlobalLayoutListener
,这反过来又引用了这篇文章
这回答了你的问题吗?在链接中使用已接受的答案。您应该将softInput模式更改为
adjustResize
u也可以在运行时执行此操作,也可以将其放在清单中,以适合您的需要为准。对于BottomNavigation
,当键盘可见性发生变化时,使用链接使其可见并消失。据我所知,这是唯一的解决方案。@当键盘出现时,ADM和按钮也应该可见/消失?我会查看链接的。谢谢
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
val imeVisible = insets.isVisible(Type.ime())
// do something with imeVisible value
}