从另一个视图获取信息

Posted

技术标签:

【中文标题】从另一个视图获取信息【英文标题】:Get info from another view 【发布时间】:2017-02-13 09:35:11 【问题描述】:

我有几个视图,比如说 5 个按钮。以及如何单击第一个按钮,然后将手指放在屏幕上,但将其移动到第 5 个按钮,以便当我释放按钮时,我从第 5 个按钮和仅第 5 个按钮获得信息。我尝试使用触摸监听器:检测 Action_Down 和 Action_Up 但理解触摸监听器只分配给一个视图(在本例中是视图,但它也可以分配给容器)。

谢谢。

【问题讨论】:

使用拖动监听器 【参考方案1】:

onTouchListener附加到包含所有这些按钮的视图中,然后您可以使用取自here的代码检查按钮是否包含ACTION_UP(x,y)坐标:

private boolean isViewContains(View view, int rx, int ry) 
    int[] l = new int[2];
    view.getLocationOnScreen(l);
    int x = l[0];
    int y = l[1];
    int w = view.getWidth();
    int h = view.getHeight();

    if (rx < x || rx > x + w || ry < y || ry > y + h) 
        return false;
    
    return true;

【讨论】:

以上是关于从另一个视图获取信息的主要内容,如果未能解决你的问题,请参考以下文章

使用 php 从另一个网站获取 OuterHtml

如何从另一个 ViewController 更新 LineChart

SwiftUI 如何根据获取的数据更改视图的背景颜色?

Xamarin 表单从另一个视图获取数据

无法从另一个视图控制器获取表视图数据

无法从另一个应用程序的面板控件中获取文本