2010-08-05 58 views
0

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

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

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

回答

0

使用scrollView.getScrollY()可以查找滚动视图的滚动视点的距离,并将其与子视图的高度进行比较(随时添加它们)以查看哪个视图必须位于屏幕上。

+0

感谢 getScrollY()也许右。 我刚刚发现anyview有scrollTo()函数,所以现在我立即使用lineanerlayout而不是ScrollView – user411475 2010-08-06 05:27:24

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 } 
相关问题