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

当我在android中按右方向键时,如何将反弹效果添加到HorizontalScrollView?,android,animation,scrollview,jelly,Android,Animation,Scrollview,Jelly,我想在水平滚动视图滚动到右边缘时添加一些反弹效果。 例如,这样的视图: -------------------------------------------------------------------------------------- | Content | | Co

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

-------------------------------------------------------------------------------------- | Content | | Content | | Content | | Content | | Content | -------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------- |内容| |内容| |内容| |内容| |内容| -------------------------------------------------------------------------------------- 使用正常的
水平滚动视图
,我按向右方向键,该视图将没有效果,但我希望该视图会像果冻一样反弹


如何实现这种动画?

对于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
中不有用。无论如何,圣诞快乐。