12
我有一個TextView
許多ClickableSpan
。如何在TextView中獲取ClickableSpan的座標?
點擊一個ClickableSpan
,我必須得到它的屏幕座標(在他的位置顯示一個自定義的View
)。
問題是,我不知道如何做到這一點。 ClickableSpan
的onClick()
方法給我參數a View
,TextView
其中包含ClickableSpan
。
我已經使用以下來獲取TextView
中的字符位置,但我不知道如何將它轉換爲文本屏幕上的x/y位置。
@Override
public void onClick(View v){
SpannableString completeText = (SpannableString)((TextView) v).getText();
Log.v("characters position", completeText.getSpanStart(this) + "/" + completeText.getSpanEnd(this));
}
在此先感謝您的幫助!
編輯:我想獲得ClickableSpan的整個座標及其大小,目的是在文本的底部中心顯示我的自定義視圖。 onTouch方法會給我手指位置,而不是整個文本座標。所以,用這種方法,我不會有文字的中間。
重寫onTouch()並使用event.getX(),event.getY()? – 2012-08-10 16:19:18
感謝您的回答!不幸的是,我發現這個方法非常...醜!我希望有一個更好的解決方案。此外,我忘記了另一個精度:我想獲取ClickableSpan的整個座標及其大小,目的是在文本底部的中心顯示我的自定義視圖。 onTouch方法會給我手指位置,而不是整個文本座標。所以,用這種方法,我不會有文字的中間。任何其他想法? – 2012-08-10 16:27:07