[英]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.