ListView本身不提供获取滑动距离的方法,别误认为mListView.getScaleY()可以获得滑动距离,你会发现在该方法在OnScrollListener中始终为0。
较为准确的解决方法是:
这是每项高度一致的方法
private int listViewScorllY(){
View view = mListView.getChildAt(0);
if (view== null) {
return 0;
}
int firstVisiblePosition = mListView.getFirstVisiblePosition();
int top = view.getTop();
return -top + firstVisiblePosition * view.getHeight() ;
}
用途:
1 下拉刷新
2 做悬浮项
等等