簡體   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