视图在屏幕上的位置

时间:2017-04-30 10:10:19

标签: android position scrollview screen detection

如何检测位于scrollview(linearlayout)中的cardview是否超出了屏幕或返回到视野?  我试图通过OnScrollChanged来做到这一点但在我看来情况并非如此,并且无法获得正确的工作算法

1 个答案:

答案 0 :(得分:0)

您必须在getLocalVisibleRect()上使用CardView方法:

Rect scrollViewRect = new Rect();
// Get the visible Rect of the ScrollView.
scrollView.getHitRect(scrollViewRect);
// Check if CardView's Rect is inside it.
if (!cardView.getLocalVisibleRect(scrollViewRect)) {
    // The CardView is not visibile anymore.
}

您可以将此代码放在任何地方,以便检查屏幕上是否再次显示CardView