需求: listview显示的第一行永远为整行,不能为半行。
1. 添加 listview 的 setOnScrollListener() 事件
2. @Override onScrollStateChanged() 方法
@Override
public void onScrollStateChanged(final AbsListView view, int scrollState) {
if (scrollState == SCROLL_STATE_IDLE && lv.getLastVisiblePosition() != lv.getAdapter().getCount() - 1) {
final int height = view.getChildAt(0).getHeight();
final int top = -view.getChildAt(0).getTop();
view.post(new Runnable() {
@Override
public void run() {
view.smoothScrollBy((top > height / 2 ? height : 0) - top, 200);
}
});
}
}