最近在写一个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"
效果是一样的。
希望能解答大家的问题。