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