如何获取 TextView 的精确位置(以像素为单位)?

2023-12-07

我有一部 2560 x 1440 像素的智能手机。现在我正在使用这个功能TextView:

int[] locationOnScreen = new int[2];
txtAp.GetLocationInWindow(locationOnScreen);

它应该给我总的 x 和 y 坐标(以像素为单位)。 我的TextView几乎在屏幕的中间,所以据说在 (1280,770)。但该函数返回 [69, 1111]。

怎么可能?如果这不是这样做的方法,那么什么才是呢?


我有一部 2560 x 1440 像素的智能手机...我的TextView几乎位于屏幕中间,因此推测为 (1280,770)。

不正确,除非你谈论的是中心TextView。任何视图都在屏幕上的矩形内呈现,因此其坐标被认为是[左、上、右、下]。

The GetLocationInWindow()方法返回视图的(左、上)坐标。所以 (x = 69, y = 1111) 看起来对你的左上角有意义TextView位于屏幕中间。

重要的提示: GetLocationInWindow()返回根视图的坐标,而不是实际窗口的坐标。你应该考虑状态栏高度。这是你可以计算的方法Android状态栏高度.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 TextView 的精确位置(以像素为单位)? 的相关文章

随机推荐