2016-06-14 4 views
2

NestedScrollView가 포함 된 레이아웃이 있습니다. 이 뷰에는 나머지 뷰와 함께 시차 효과를 만드는 스크롤이있는 ImageView가 있습니다. ImageView는 절반의 속도로 스크롤합니다.NestedScrollView를 사용한 시차 스크롤

문제는 화면 경계 내에서 인 경우에만 시차 스크롤 을 수행해야합니다. ImageView가 화면의 보이는 부분 안에 있지 않으면, 시차 코드에 반응하는 것을 원하지 않습니다.

보기가 화면의 보이는 부분에 있는지 확인하는 방법이 있습니까?

아마 내가보기의 스크롤 위치를 확인한다고 생각했지만 보이는 화면의 하단과 어떻게 비교할 것인지 모르겠습니다.

의견이 있으십니까?

감사합니다.

답변

0

Have'nt 아직하지만이 코드를 사용하여 그것을 시도, 어떤 이유

Rect bounds = new Rect(); 
yourView.getHitRect(bounds); 
Rect scrollBounds = new Rect(yourScroll.getScrollX(),yourScroll.getScrollY(), 
      yourScroll.getScrollX() + yourScroll.getWidth(), yourScroll.getScrollY() + yourScroll.getHeight()); 
if(Rect.intersects(scrollBounds, bounds)) 
    { 
     //is in visible part of the scrollview 
    } 
+0

는 첫 번째 이미지 뷰는 시차에 반응하지만, 두 번째는하지 않습니다. 아무리 스크롤을 바꾸어도 상관 없습니다. 스크롤 뷰가 아닌 화면의 좌표로 Rect를 가져올 수 있습니까? –