如何知道滚动视图中当前设备屏幕上显示的子视图?

时间:2010-08-05 02:55:48

标签: android view scroll

如何在滚动视图中知道当前设备屏幕上显示哪个子视图?

我想创建一个无限的标尺应用程序,所以我需要在视图翻转时动态添加和删除视图,但是我如何以及在哪里可以找到当前设备屏幕上显示的子视图,因此我可以添加或当我将子视图更改为通知时,删除正确的视图?

或者,有谁可以给​​我一些其他想法来实现这个功能?

2 个答案:

答案 0 :(得分:1)

我也遇到过这个问题。你可以调用getlocalonscreen函数来获取视图的坐标。例如:

1

view.getlocaloncreen(xy);// xy[0] is x axis, xy[1] is y axis.

2

int nScreenWid = getwindowsmanager().getdefaultdisplay().getwidth();
int nScreenHei = getwindowsmanager().getdefaultdisplay().getHeight();

3

if( xy[0] > nscreenWid )
{
  // your view is beyond the x axis.
}
if( xy[1] > xxxxhei )
{ // beyond y axis }

答案 1 :(得分:0)

使用scrollView.getScrollY()查找滚动视图向下滚动点的距离,并将其与子视图的高度进行比较(随着时间的推移将它们相加),以查看哪一个必须在屏幕上。