当HorizontalScrollView
滚动到右边缘时,我想添加一些反弹效果。
例如,像这样的视图:
-------------------------------------------------------------------------------------- | Content | | Content | | Content | | Content | | Content | --------------------------------------------------------------------------------------
正常HorizontalScrollView
,我按右方向键,此视图将无效,但我希望此视图会像果冻一样反弹。
如何实现这种动画?
答案 0 :(得分:0)
对于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);
}
...
}