ios中有一个控件回弹的效果,比如listview ,拉动到第一条或者最后一条数据的时候,还可以继续拉动,松手就回弹到原来位置,很赞,其实在android中实现起来也非常简单,我们只需要重写listview的下面两个 方法即可
先上图
@Override
public void setOverScrollMode(int mode) {
super.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
}
@Override
protected boolean overScrollBy(int deltaX, int deltaY, int scrollX,
int scrollY, int scrollRangeX, int scrollRangeY,
int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX,
scrollRangeY, maxOverScrollX, <span style="font-family:SimHei;font-size:18px;">mMaxYOverscrollDistance</span>, isTouchEvent);
}
完整的示例代码请参考:代码下载
----------------------------分割线
之前有朋友反馈说没效果,其实是我有意留了一个坑,目的就是不想让读者直接拿来代码不看就用,这时候你只需要把代码里面的
public void setOverScrollMode(int mode) {
super.setOverScrollMode(View.OVER_SCROLL_ALWAYS);
}
方法 设置成View.OVER_SCROLL_ALWAYS 就可以了