【问题标题】:How I check an imageview ontop of another imageview or not我如何检查另一个图像视图之上的图像视图或不
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以使用link 获取图像的坐标来检查

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

      【讨论】:

        【解决方案3】:

        一个建议:获取他们的位置和高度 减去它们并配置 if 在上面

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            【解决方案5】:

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

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

            int indexV1 = layout.indexOfChild(v1);
            int indexV2 = layout.indexOfChild(v2);
            if(indexV1 < indexV2) {
                // v1 is below v2
            }
            

            【讨论】:

            • 呵呵,如果你的代码位于另一个 View 之上,只是 ViewGroup 中的位置,那么你的代码无关紧要
            猜你喜欢
            • 2011-03-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-10
            相关资源
            最近更新 更多