网上有学多对listview的滑动距离和方向的判断
其中滑动距离可参考文章
http://blog.youkuaiyun.com/c19344881x/article/details/50543969
滑动方向可参考
http://blog.youkuaiyun.com/wangbaochu/article/details/45503605
在对该代码分析过程中觉得代码过于复杂,于是想到可以通过控件距离屏幕的距离来获取滑动距离
先给listView头部加一个控件
final View v = inflaters.inflate(R.layout.XXX, null,false);
getListView().addHeaderView(v);如果该布局里面有个View在最上方
public final int IS_VISIBLE_HEADER = 57;
getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if(headerText.getLocationOnScreen()[1]<IS_VISIBLE_HEADER){
// todo
}else{
// todo
}
}
});
其中,getLocationOnScreen()[1]代表Y方向的距离,该值就可以当成滑动距离
本文介绍了一种简化ListView滑动距离和方向判断的方法。通过监听头部控件的位置变化,利用控件距离屏幕顶部的距离来获取滑动距离,实现简单且有效。
2778

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



