0

假设我有两个图像视图 v1、v2。

imageview v1,v2;

    v1=(Imageview)findviewbyId(R.id.view1);
    v2=(Imageview)findviewbyId(R.id.view2);

如何检查 v1 是否位于 v2 之上。

4

5 回答 5

0

一个建议:将它们的位置和高度减去它们并配置是否在上面

于 2013-06-14T09:52:11.990 回答
0

你可以用View的位置和宽高来计算。

位置:使用View.getLocationOnScreen()和/或getLocationInWindow()
宽度/高度:使用View.getWidth()View.getHeight()

于 2013-06-14T09:53:04.110 回答
0

在您的 xml 布局中首先定义的视图将首先被绘制。如果有的话,下一个视图将绘制在前一个视图之上。

根据该原则,您可以要求您的框架/相对布局检查子视图的排序顺序:

int indexV1 = layout.indexOfChild(v1);
int indexV2 = layout.indexOfChild(v2);
if(indexV1 < indexV2) {
    // v1 is below v2
}
于 2013-06-14T09:53:15.530 回答
0

您可以通过使用此链接获取图像的坐标来检查

并且可以使用该坐标检查哪个图像在顶部,哪个图像在底部

于 2013-06-14T09:51:25.167 回答
0

您可以为这两个设置 onclick 侦听器,以便在用户单击时仅单击图像视图的顶部。通过这个你可以得到哪个图像视图在顶部。

于 2013-06-14T09:48:28.640 回答