什么可以导致locationOnScreen_x与View.getX()返回的值不同?

时间:2016-12-25 06:06:04

标签: android android-layout

我正在尝试使用SurfaceView手动绘制一些围绕几个UI视图的边框(用于练习),我正在使用View.getX()getY()getHeight(),和getWidth()以确保在不同的屏幕上正确绘制线条。

问题在于边界被绘制偏离它们需要的位置。线条的相对位置是正确的,但它们只需要向下移动到右边。

我通过使用Android设备监视器获取“布局”>来调查此问题。 locationOnScreen_x和“绘图”> x个变量并注意到它们不同。 locationOnScreen_x显示正确的值70,而x显示0.0。我假设getX()返回x值,我显然不想这样做。

我的问题是两部分:

  1. 我如何以编程方式检索locationOnScreen_x
  2. 哪些因素会导致xlocationOnScreen_x不同?

1 个答案:

答案 0 :(得分:0)

我终于通过意识到getX()相对于父视图 返回X值而不是相对于设备的屏幕来解决了我的问题