【发布时间】:2014-12-25 01:14:56
【问题描述】:
我想在HorizontalScrollView 滚动到右边缘时添加一些反弹效果。
例如,像这样的视图:
用普通的HorizontalScrollView,我按右方向键,这个视图没有效果,但是我想这个视图会像果冻一样反弹。
如何实现这种动画?
【问题讨论】:
标签: android animation scrollview jelly
我想在HorizontalScrollView 滚动到右边缘时添加一些反弹效果。
例如,像这样的视图:
用普通的HorizontalScrollView,我按右方向键,这个视图没有效果,但是我想这个视图会像果冻一样反弹。
如何实现这种动画?
【问题讨论】:
标签: android animation scrollview jelly
对于HorizontalScrollView,如果它的宽度大于它的子视图,它不会滚动,所以没有边缘效果。你可以试试这个来增加反弹效果。
public class OverScrollHorizontalScrollView extends HorizontalScrollView {
...
public OverScrollHorizontalScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
setOverScrollMode(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) {
maxOverScrollX = 90; // this is the rebound distance, set yours
return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY,
maxOverScrollX, maxOverScrollY, isTouchEvent);
}
...
}
【讨论】:
touchEvent 中很有用,但在keyEvent 中没有。不管怎样,圣诞快乐。