Android检查位置处的视图

Android检查位置处的视图,android,view,position,Android,View,Position,我有一个按钮,可以在相对布局中的坐标处创建文本视图,我要做的是检查该位置是否已创建文本视图,以便我可以在其他位置创建文本视图 总而言之,我的问题是如何检查另一个视图是否位于位置x和y? 以下是创建代码: @Override public void onClick(View v) { DragTextView textview = MainActivity.createTextView(context); textview.setX(getX()+getWidth()+30);

我有一个按钮,可以在相对布局中的坐标处创建文本视图,我要做的是检查该位置是否已创建文本视图,以便我可以在其他位置创建文本视图

总而言之,我的问题是如何检查另一个视图是否位于位置x和y? 以下是创建代码:

@Override
   public void onClick(View v) {
   DragTextView textview = MainActivity.createTextView(context);
   textview.setX(getX()+getWidth()+30);
   textview.setY(getY()+getHeight()+30);
}

看看这对你是否有帮助。我明白了,解决方案提供了视图的坐标。将此值存储在某个集合对象中,并在放置视图之前引用相同的值


看看这是否能帮到你。我明白了,解决方案提供了视图的坐标。将此值存储在某个集合对象中,并在放置视图之前引用相同的值


此示例代码可能会帮助您

    int left = textView.getLeft();
    int right = textView.getRight();
    int top = textView.getTop();
    int bottom = textView.getBottom();
    Rect rect = new Rect(left, top, right, bottom);
    int x = 200;
    int y = 250;
    if(rect.contains(x, y)) {
        Log.i(TAG, "TextView occupied (200,250) position");
    }

此示例代码可能会帮助您

    int left = textView.getLeft();
    int right = textView.getRight();
    int top = textView.getTop();
    int bottom = textView.getBottom();
    Rect rect = new Rect(left, top, right, bottom);
    int x = 200;
    int y = 250;
    if(rect.contains(x, y)) {
        Log.i(TAG, "TextView occupied (200,250) position");
    }

如果您总是自己设置位置,则保留
列表
HashMap
以跟踪视图的位置。然后,在绘制另一个视图时,对照该
列表
HashMap
检查该位置是否已存在另一个视图。Android是否具有用于此类检查的内置功能?因为手动检查每个视图的位置和边界对我来说是一项非常繁琐的任务。如果您总是自己设置位置,那么请保留一个
列表
哈希映射
,以跟踪视图的位置。然后,在绘制另一个视图时,对照该
列表
HashMap
检查该位置是否已存在另一个视图。Android是否具有用于此类检查的内置功能?因为手动检查每个视图的位置和边界对我来说是一项相当繁琐的任务。我认为getX()和Y已经符合目的了,因为我需要的是根据父布局而不是屏幕的坐标,我使用的是2d ScrollView,这意味着布局可以比屏幕延伸得更远(宽度和高度约为2000)我认为getX()和Y已经满足了这个目的,因为我需要的是根据父布局而不是屏幕的坐标,我使用的是2d ScrollView,这意味着布局可以扩展到比屏幕更远的地方(宽和高约2000)。谢谢,我不知道Rect类,我想我将对相对布局中的所有子级使用for循环,并检查每个子级的Rect是否相交。谢谢,我不知道Rect类,我想我将对相对布局中的所有子级使用for循环,并检查每个子级的Rect是否相交。