2014-12-25 2 views
0

HorizontalScrollView 오른쪽 가장자리로 스크롤 할 때 약간의 리바운드 효과를 추가하고 싶습니다. 는 예를 들어, 다음과 같은보기 : 일반 HorizontalScrollView안드로이드에서 오른쪽 방향 키를 누르면 HorizontalScrollView에 리바운드 효과를 어떻게 추가합니까?

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

, 나는이보기가 적용되지 않습니다, 올바른 방향 키를 누르면,하지만이 뷰가 젤리처럼 반등에 나는 원한다.

어떻게 이런 종류의 애니메이션을 구현할 수 있습니까?

답변

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); 
    } 
    ... 
} 
+0

고맙습니다. 당신의 메소드는'touchEvent'에서 유용하지만'keyEvent'에서는 유용하지 않습니다. 어쨌든, 메리 크리스마스. – roger

관련 문제