如何在滚动视图中知道当前设备屏幕上显示哪个子视图?
我想创建一个无限的标尺应用程序,所以我需要在视图翻转时动态添加和删除视图,但是我如何以及在哪里可以找到当前设备屏幕上显示的子视图,因此我可以添加或当我将子视图更改为通知时,删除正确的视图?
或者,有谁可以给我一些其他想法来实现这个功能?
答案 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()
查找滚动视图向下滚动点的距离,并将其与子视图的高度进行比较(随着时间的推移将它们相加),以查看哪一个必须在屏幕上。