繁体   English   中英

如何在android中获取视图的x,y坐标?

[英]How to get the x,y coordinates of a view in android?

我已经使用以下代码来获取布局中视图的位置(x,y)坐标。我有一个按钮和以下代码来获取它在scren上的位置。但是当它使用此代码时强制关闭应用程序。另请注意,此语句已在setContentView()之后调用。以下是代码

Toast.makeText(MainActivity.this, button1.getTop(),Toast.LENGTH_LONG).show();

以下是错误:

 E/AndroidRuntime(11630): android.content.res.Resources$NotFoundException: String resource ID #0x196

。如何在屏幕上显示视图(例如我的情况下是一个按钮)(x,y坐标)?

您使用的方法期望整数值作为R.string.whatever引用。 将getTop()返回值转换为String应该可以工作。

Toast.makeText(MainActivity.this, String.valueOf(button1.getTop()), Toast.LENGTH_LONG).show();

获取按钮的x / y(自API 11起):

Toast.makeText(MainActivity.this, (int)button1.getX() + ":" + (int)button1.getY(), Toast.LENGTH_LONG).show();

Doc

此视图的可视x位置(以像素为单位)。

对于低于11的API,你的方法是正确的: getTop()相当于getY()但没有可能的动画/翻译。 getLeft()是具有相同限制的getX() getLeft()物。

button1.getTop()返回一个int号, Toast.makeText()将该int号视为字符串资源id,实际上并不存在,因此它崩溃了。

尝试使用button1.getTop() + ""更改为字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM