【发布时间】:2013-06-14 18:05:32
【问题描述】:
假设我有两个图像视图 v1,v2。
imageview v1,v2;
v1=(Imageview)findviewbyId(R.id.view1);
v2=(Imageview)findviewbyId(R.id.view2);
如何检查 v1 是否位于 v2 之上。
【问题讨论】:
标签: android
假设我有两个图像视图 v1,v2。
imageview v1,v2;
v1=(Imageview)findviewbyId(R.id.view1);
v2=(Imageview)findviewbyId(R.id.view2);
如何检查 v1 是否位于 v2 之上。
【问题讨论】:
标签: android
您可以为这两个设置 onclick 侦听器,以便在用户单击时仅单击图像视图的顶部。通过这个你可以得到哪个图像视图在顶部。
【讨论】:
您可以使用link 获取图像的坐标来检查
并且可以通过该坐标检查哪个图像在顶部,哪个图像在底部
【讨论】:
一个建议:获取他们的位置和高度 减去它们并配置 if 在上面
【讨论】:
你可以用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
}
【讨论】: