首页 > 代码库 > ListView 增加的item滚动方式
ListView 增加的item滚动方式
比方说你在群里聊天的时候,一条条item刷刷的出现,然后你要查看前面的内容item,然后滚动了超出一屏的内容,也就是最后一条消息不在该屏幕中。还没有看完然后同学们又发出一条条消息,于是ListView跳到最后一条消息,这时候你仍然想知道前面的聊天内容,是不是有点郁闷,这就是ListView默认的滚动方式。
当然这是可以修改的:
编写代码使ListView受Onscrolllistener监听:
[java] view plaincopyprint?private boolean isTranscriptMode = true;
private boolean isTranscriptMode = true;
[java] view plaincopyprint?mListView.setOnScrollListener(this);
mListView.setOnScrollListener(this);
[java] view plaincopyprint?@Override
public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case OnScrollListener.SCROLL_STATE_IDLE: Log.d(TAG, "idle"); if (view.getLastVisiblePosition() == (view.getCount() - 1)) { if(isTranscriptMode == false) { mListView.setTranscriptMode(AbsListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);//滚动方式 Log.d(TAG, "set TRANSCRIPT_MODE_ALWAYS_SCROLL"); isTranscriptMode = true; } }else{ if(isTranscriptMode == true) { Log.d(TAG, "set TRANSCRIPT_MODE_DISABLED"); mListView.setTranscriptMode(AbsListView.TRANSCRIPT_MODE_DISABLED);//不滚动,数据item仍然增加 isTranscriptMode = false; } } break; case OnScrollListener.SCROLL_STATE_FLING: Log.d(TAG, "filing"); break; case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: Log.d(TAG, "touche"); break; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { }
ListView 增加的item滚动方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。