我正在尝试创建一个带有ListView和底部发送消息功能的Activity。问题在于当键盘被显示时,底部的内容不是被推上去,而是被隐藏了。我尝试使用adjustPan,但它会推动整个视图(这样就无法看到ListView的顶部元素,并且ActionBar也消失了)。
如果您看一下WhatsApp或Line,它们的功能是:当列表的最后一项显示在屏幕底部时,键盘将推上ListView(而不会使ActionBar或第一个元素移出屏幕),而当列表的最后一项未显示在屏幕底部时(即向上滚动后),键盘会隐藏底部的列表(正常情况下使用adjustResize)。
有人遇到过这个问题吗?
谢谢
编辑:
我将尝试提供一个可视化的示例:
假设这是ListView:
如果您看一下WhatsApp或Line,它们的功能是:当列表的最后一项显示在屏幕底部时,键盘将推上ListView(而不会使ActionBar或第一个元素移出屏幕),而当列表的最后一项未显示在屏幕底部时(即向上滚动后),键盘会隐藏底部的列表(正常情况下使用adjustResize)。
有人遇到过这个问题吗?
谢谢
编辑:
我将尝试提供一个可视化的示例:
假设这是ListView:
---item 1---
---item 2---
---item 3---
---item 4---
---EditText---
EditText不是ListView的一部分,而是底部对齐的LinearLayout。当键盘显示时,ListView会变成这样(Item 3和4被键盘隐藏):
---item 1---
---item 2---
---EditText---
---Keyboard---
我希望得到的是:
---item 3---
---item 4---
---EditText---
---Keyboard---
我尝试过android:windowSoftInputMode="adjustPan",结果是项目3和4被顶上去了,不再被键盘隐藏。问题是它把ListView推出了屏幕,所以ActionBar消失了,即使尝试向上滚动,我也永远看不到Item 1和2与键盘一起显示。
希望我解释得清楚,这并不容易...
谢谢