有没有办法配置 ListView 以使其始终在屏幕上完整显示列表的顶部元素?换句话说,每当列表停止滚动时,它应该继续向上或向下滚动,直到顶部的元素完全显示。
问问题
266 次
1 回答
0
这解决了这个问题。
setOnScrollListener(new OnScrollListener() {
boolean touched = false;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if(scrollState == SCROLL_STATE_TOUCH_SCROLL){
touched = true;
}else if(scrollState == SCROLL_STATE_IDLE && touched){
touched = false;
ListViewWithSwipe.this.post(new Runnable() {
@Override
public void run() {
smoothScrollToPosition(getFirstVisiblePosition());
}
});
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
于 2012-06-25T16:35:40.413 回答