【问题标题】:How do I get the XY co-ordinates of current focus view?如何获取当前焦点视图的 XY 坐标?
【发布时间】:2016-04-15 17:00:57
【问题描述】:

我想获取当前焦点视图的实时 (x,y) 坐标。我在 android 方面没有太多经验。我想根据输入坐标模拟焦点,即如果我将输入坐标指定为 (100,100),那么无论焦点当前在屏幕上的哪个位置,它都应该转到其中的视图以上坐标下降。请帮忙。

【问题讨论】:

  • 请给出拒绝投票的理由
  • 你该怎么做?以编程方式?还是通过您的计算机?
  • 正如我已经提到的,我想模拟(代码/程序)焦点。即将源坐标解析为函数并将焦点移动到源坐标所在的视图中。用例是 Android TV 菜单中的导航。
  • 你解决过这个问题吗?很想知道如何获得焦点坐标

标签: android view focus coordinates


【解决方案1】:

使用

Rect rectf = new Rect();
<imageView>or<view>.getLocalVisibleRect(rectf);

检索视图的边界。

在此之前,只需遍历您的视图。我认为它应该有效。

https://stackoverflow.com/a/2226706/1979882

或者这个

int location[] = new int[2];
    view.getLocationOnScreen(location);

https://stackoverflow.com/a/4692133/1979882

对于全局坐标:

v.getLocationOnScreen() 或 v.getLocationInWindow()

【讨论】:

  • 感谢维亚切斯拉夫的建议。我可以得到视图的边界,但它是相对于当前视图的,而我想要相对于(0,0)(假设左上角)的坐标,比如坐标纸中的一些基本参考。你能帮我解决这个问题吗?
  • 我也尝试过编辑。它给出静态坐标。此外,v.getLocationOnScreen() 给出了触摸事件的坐标。我的问题是针对当前焦点视图。
猜你喜欢
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 2016-08-30
  • 2019-08-22
  • 2010-09-09
  • 1970-01-01
相关资源
最近更新 更多