2012-05-04 17 views
14

TextView'umdaki bağlantılar için metin stilini özelleştirmek için ClickableSpan alt sınıfını kullanıyorum.TextView Sıkıştırılmış durum için ClickableSpan stil

private static class LinkSpan extends ClickableSpan { 
    @Override 
    public void onClick(View widget) { 
     // code... 
    } 

    @Override 
    public void updateDrawState(TextPaint ds) { 
     super.updateDrawState(ds); 
     ds.setUnderlineText(false); 
     ds.setTypeface(Typeface.create(ds.getTypeface(), Typeface.BOLD)); 
     ds.setColor(0xff336699); 
    } 
} 

Stili durumdayken stili değiştirmek istiyorum veya kullanıcı bağlantıya dokunur. (a:hover, css'de olduğu gibi), ancak mevcut durumu updateDrawState olarak almanın bir yolunu çözemiyorum.

Bunu halletmenin bir yolu var mı? Metin stilini değiştiremezsem arka plan rengini en azından değiştirmek isteyebilirim. Bir yoruma göre belirttiği gibi

DÜZENLEME, ne TextView

testTextView.setHighlightColor(Color.BLUE); 

yaptılar arka plan rengini değiştirmek için Change the text color of a single ClickableSpan when pressed without affecting other ClickableSpans in the same TextView

+1

Cevabı buldunuz mu? Bunu nasıl yaptın? – Ravi

+1

Gelecekte bu konuda yardımcı olabilecek kişiler için, bu http://stackoverflow.com/a/20905824/1646326 adresine bakın. –

cevap

9

de cevabını bulabilirsiniz. Metin rengini değiştirme şansına sahip olmak benim için daha iyi olurdu.

+0

Sorduğum bu değildi, ama bu cevabı kabul ettim çünkü tek cevap bu. Gerçek çözüm şu anda http://stackoverflow.com/a/20905824/1646326 – dasony

+0

adresindedir. Bir dahaki sefere bağlantıyı gerçek bir cevap olarak göndermek ve doğru olarak işaretlemek için utanmayın. Cevabı daha görünür hale getirerek başkalarına yardımcı olacaktır. –

+0

Bu sorunumu düzeltin, teşekkürler! :) –