最近在写一个demo,布局文件是一个listView,下面跟着一个发送信息的button和editText.问题是:当keyboard显示的时候,我想把listView最底部的item推上去,现在仅仅是被键盘挡住了。
我曾经试过adjustPan,但它会把整个view都推上去(所以这样就看不到最顶部的元素)
简单的发几个图来说明我的意图
这是我的ListView
---item 1---
---item 2---
---item 3---
---item 4---
---EditText---
现在当键盘展示的时候,就这个样了
---item 1---
---item 2---
---EditText---
---Keyboard---
我想让它这个样
---item 3---
---item 4---
---EditText---
---Keyboard---
解决方案
其实根本目的就是让listView每次都滑动到底部
ListView l = getListView();
l.setTranscriptMode(ListView.TRANSCRIPT_MODE_NORMAL);
l.setStackFromBottom(true);
如果是Activity,请在onCreate 方法里加上,如果是fragment 请在onViewCreated 加上,
当然也可以在布局文件上加上
android:stackFromBottom="true"
android:transcriptMode="normal"
效果是一样的。
希望能解答大家的问题。

本文介绍如何解决键盘弹出时遮挡ListView底部元素的问题,通过设置ListView属性实现自动滚动到底部,确保输入框始终可见。
529

被折叠的 条评论
为什么被折叠?



