2016-06-14 14 views
2

NestedScrollViewを含むレイアウトがあります。このビューの中には、他のビューとの視差効果を作成するスクロールするImageViewがあります。 ImageViewは半分の速度でスクロールします。NestedScrollViewでの視差スクロール

問題は、視差スクロールを行うにはImageViewが画面境界内にある場合のみです。。 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

は、最初のImageViewの視差に反応するが、第二はありません。スクロールをどのように変更しても問題ありません。 スクロールビューではなく、表示されている画面の座標でRectを取得する方法はありますか? –

関連する問題