我使用以下代码获取布局中视图的位置(x,y)坐标。我有一个按钮和以下代码来获取其在scren上的位置。另请注意,此语句已在setContentView()之后被调用。
Toast.makeText(MainActivity.this, button1.getTop(),Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
以下是错误:
E/AndroidRuntime(11630): android.content.res.Resources$NotFoundException: String resource ID #0x196
Run Code Online (Sandbox Code Playgroud)
我如何在屏幕上获取视图的位置(在我的情况下为按钮)(x,y坐标)?
您使用的方法期望整数值作为的引用R.string.whatever。将getTop()返回值强制转换为String应该可以工作。
Toast.makeText(MainActivity.this, String.valueOf(button1.getTop()), Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
要获取按钮的x / y(自API 11开始):
Toast.makeText(MainActivity.this, (int)button1.getX() + ":" + (int)button1.getY(), Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
文件:
此视图的可视x位置(以像素为单位)。
对于低于11的API,您采用的是正确的方法:getTop()等同于getY()但没有可能的动画/翻译。getLeft()是getX()具有相同限制的等价物。
| 归档时间: |
|
| 查看次数: |
12193 次 |
| 最近记录: |