/**
* 带阻尼效果的ListView
* Created by Lezg on 2014/6/11.
*/
public class BounceListView extends ListView {
private static final int MAX_Y_OVERSCROLL_DISTANCE = 200;
private static final float SCROLL_RATIO = 0.5f;// 阻尼系数
public BounceListView(Context context) {
super(context);
}
public BounceListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public BounceListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
int newDeltaY = deltaY;
int delta = (int) (deltaY * SCROLL_RATIO);
if (delta != 0) {
newDeltaY = delta;
}
return super.overScrollBy(deltaX, newDeltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, MAX_Y_OVERSCROLL_DISTANCE, isTouchEvent);
}
}
Android 带阻尼效果的ListView
最新推荐文章于 2021-05-27 10:02:46 发布