我正在尝试使用SurfaceView手动绘制一些围绕几个UI视图的边框(用于练习),我正在使用View.getX()
,getY()
,getHeight()
,和getWidth()
以确保在不同的屏幕上正确绘制线条。
问题在于边界被绘制偏离它们需要的位置。线条的相对位置是正确的,但它们只需要向下移动到右边。
我通过使用Android设备监视器获取“布局”>来调查此问题。 locationOnScreen_x
和“绘图”> x
个变量并注意到它们不同。 locationOnScreen_x
显示正确的值70,而x
显示0.0。我假设getX()
返回x
值,我显然不想这样做。
我的问题是两部分:
locationOnScreen_x
?x
与locationOnScreen_x
不同?答案 0 :(得分:0)
我终于通过意识到getX()
相对于父视图 返回X值而不是相对于设备的屏幕来解决了我的问题