假设我有两个图像视图 v1、v2。
imageview v1,v2;
v1=(Imageview)findviewbyId(R.id.view1);
v2=(Imageview)findviewbyId(R.id.view2);
如何检查 v1 是否位于 v2 之上。
假设我有两个图像视图 v1、v2。
imageview v1,v2;
v1=(Imageview)findviewbyId(R.id.view1);
v2=(Imageview)findviewbyId(R.id.view2);
如何检查 v1 是否位于 v2 之上。
一个建议:将它们的位置和高度减去它们并配置是否在上面
你可以用View的位置和宽高来计算。
位置:使用View.getLocationOnScreen()
和/或getLocationInWindow()
。
宽度/高度:使用View.getWidth()
和View.getHeight()
。
在您的 xml 布局中首先定义的视图将首先被绘制。如果有的话,下一个视图将绘制在前一个视图之上。
根据该原则,您可以要求您的框架/相对布局检查子视图的排序顺序:
int indexV1 = layout.indexOfChild(v1);
int indexV2 = layout.indexOfChild(v2);
if(indexV1 < indexV2) {
// v1 is below v2
}
您可以通过使用此链接获取图像的坐标来检查
并且可以使用该坐标检查哪个图像在顶部,哪个图像在底部
您可以为这两个设置 onclick 侦听器,以便在用户单击时仅单击图像视图的顶部。通过这个你可以得到哪个图像视图在顶部。