当我在android中按右方向键时,如何将反弹效果添加到Horizo​​ntalScrollView?

时间:2014-12-25 01:14:56

标签: android animation scrollview jelly

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

--------------------------------------------------------------------------------------
|                                     Content                                        |
|                                     Content                                        |
|                                     Content                                        |
|                                     Content                                        |
|                                     Content                                        |
--------------------------------------------------------------------------------------

正常HorizontalScrollView,我按右方向键,此视图将无效,但我希望此视图会像果冻一样反弹。

如何实现这种动画?

1 个答案:

答案 0 :(得分: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);
    }
    ...
}