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