0

我想在HorizontalScrollView滚动到右边缘时添加一些反弹效果。例如,这样的视图:

-------------------------------------------------- ----------------------------------
| 内容 |
| 内容 |
| 内容 |
| 内容 |
| 内容 |
-------------------------------------------------- ----------------------------------

正常情况HorizontalScrollView下,我按右方向键,这个视图是没有效果的,但是我想这个视图会像果冻一样反弹。

我怎样才能实现这种动画?

4

1 回答 1

0

对于 Horizo​​ntalScrollView,如果它的宽度大于它的子视图,它就不会滚动,所以没有边缘效果。你可以试试这个来增加反弹效果。

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);
    }
    ...
}
于 2014-12-25T02:06:33.397 回答