当ListView的第一个item显示不完整时,进行适当调整:显示过半,则全部显示;显示小于一半,则将当前item(显示小半个)的下一个item显示为第一个。
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE://滑动停止
View c = mListView.getChildAt(0);
if (Math.abs(c.getTop()) < c.getHeight() / 2) {
mListView.smoothScrollToPosition(mListView
.getFirstVisiblePosition());
} else {
mListView.smoothScrollToPosition(mListView
.getLastVisiblePosition());
}
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});