Birçok ClickableSpan
ile TextView
var.Bir TextView içinde bir ClickableSpan'ın koordinatını nasıl edinirsiniz?
Bir ClickableSpan
numaralı tıklamayla, ekranda koordinatlarını almalıyım (özel bir View
numaralı telefon numarasını kullanarak). Sorun şu ki, bunu nasıl yapabileceğimi bilmiyorum. ClickableSpan
'un onClick()
yöntemi, , ClickableSpan
'u içeren TextView
parametresini verir.
TextView
'da karakterlerin konumunu almak için aşağıdakileri kullandım, ancak metnin ekranında x/y konumuna geçmek için bunu nasıl değiştirebileceğimi bilmiyorum.
@Override
public void onClick(View v){
SpannableString completeText = (SpannableString)((TextView) v).getText();
Log.v("characters position", completeText.getSpanStart(this) + "/" + completeText.getSpanEnd(this));
}
Yardımlarınız için şimdiden teşekkür ederiz!
DÜZENLEME: ClickableSpan ve boyutunun tüm koordinatını almak istiyorum, amacım metnin alt merkezinde özel görünümümü göstermektir. OnTouch yöntemi, tüm metin koordinatlarını değil, parmak pozisyonunu verir. Yani, bu yöntemle, metnin ortasına sahip olmayacağım.
onTouch() işlevini ve event.getX() öğesini kullanın, event.getY()? –
Cevabınız için teşekkürler! Ne yazık ki, bu yöntemi çok ... çirkin buldum! Umarım daha iyi bir çözüm vardır. Dahası, başka bir hassaslık vermeyi de unutmuşum: ClickableSpan'ın tüm koordinatını ve büyüklüğünü elde etmek istiyorum. Amaç, özel görünümümü metnin alt merkezinde göstermektir. OnTouch yöntemi, tüm metin koordinatlarını değil, parmak pozisyonunu verir. Yani, bu yöntemle, metnin ortasına sahip olmayacağım. Başka bir fikrin var mı? –