做项目的时候遇到了个这样的问题,有一个类似于微信对话界面的页面,当点击下面的文本框时弹出软键盘,这时需要将listview上移并滑动到最后一条,刚开始的解决办法是监听EditText的TextWatcher,在beforeTextChanged方法中队listview这样处理:
handler.postDelayed(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
chatListView.setSelection(lists.size()-1);
}
}, 300);
这个处理方式在大部分手机中都是ok的,但是在三星手机中文输入法时,beforeTextChanged这个方法不是点击键盘就能监听到,是必须点击输入的文字到EditText才可以监听到。还是有问题。
其实解决这个问题很简单,只需要设置listview的属性为 android:transcriptMode="normal",就能很好的解决。在此记录一下。
本文介绍了一种解决在Android应用中当软键盘弹出时,ListView自动上移并滑动到最后一条记录的方法。通过设置ListView的transcriptMode属性为normal,可以实现平滑的用户体验。
8621

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



