一般判断ListView方向的方法大致是:ListView设置滑动监听器:
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount{
//根据firstVisibleItem的在滑动前后的不同值,判断滑动方向。
}
});
但这样有一个问题,如果ListView只滑动一小段距离(不超过一个item的高度),firstVisibleItem是保持不变的啊!这样就判断不了是上滑还是下滑!所以这样做是有缺陷的!
但今天在使用一个控件时。偶然看了其源代码,发现了其中有对ListView方向更全面的判断方法,其实也很简单,代码如下:
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;

博客内容介绍了如何更准确地判断ListView在Android中的滑动方向,指出仅依赖firstVisibleItem判断的缺陷,并分享了一个开源库com.melnykov:floatingactionbutton:1.3.0中的解决方案,强调学习他人代码的重要性。
最低0.47元/天 解锁文章
293

被折叠的 条评论
为什么被折叠?



