2011-11-13 28 views
7

Özel bir çekilebilir (kaynaklardan), özellikle bir ClickSpan, TextView'un bir çekilişine ayarlanabilmemizin bir yolu var mı?Android - ClickSpan'a özel çekilebilir arka plan ayarlama

Google, açıklamanın devre dışı bırakılması veya renklerin değiştirilmesi gibi birçok yanıtı, yayının updateDrawState() işlevini geçersiz kılarak geri döndürür, ancak arka plana göre nasıl çizilebileceğini göremiyorum.

DynamicDrawableSpan'da bir olasılık görüyorum, ancak ClickableSpan ile birlikte çalışamıyorum. Bu benim kodudur:

public class MyDynamicDrawableSpan extends DynamicDrawableSpan 
{ 
    private Context c; 

public MyDynamicDrawableSpan(Context context) { 
    super(); 
    c = context; 
} 

@Override 
public Drawable getDrawable() { 
    Resources res = c.getResources(); 
    Drawable d = res.getDrawable(R.drawable.span_background); 
    return d; 
} 

}

Ve bu onu kullanmak nasıl: Bu işe yaramazsa

SpannableStringBuilder ssb = new SpannableStringBuilder(text); 
MyDynamicDrawableSpan ddSpan = new MyDynamicDrawableSpan(getApplicationContext()); 
... 
ssb.setSpan(ddSpan, start, end, 0); 
ssb.setSpan(new ClickableSpan(... 

. Sadece açıklığın görünmez olmasını sağlar. Parlak fikirler var mı?

+0

span_background.xml dosyasında nasıl görünüyor? Çizilebilir bir şekil oluşturarak benzer bir şeyi denedim, ancak yayılma görünmez olarak görünüyor. Bu bir şekil çekilebilir bir düğme gibi bir görünümün arka planında ayarlanması gerektiğinden mi? http://stackoverflow.com/questions/6674657/how-change-button-shape-using-xml-or-using-java-code – toobsco42

+0

Ben benzer bir şey yapıyorum BURADA http://stackoverflow.com/questions/10812316/ contact-bubble-edittext – toobsco42

+0

burada açıkladım. Benim [cevap] (http://krishnalalstha.wordpress.com/2012/06/07/making-gosmsproevernote-like-edittext/) –

cevap

0

GetDrawable() işlevine geri dönmeden önce Çizelgenin Sınırlarını ayarlamanız gerekir.

d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
+0

'u deneyebilirim ama bunu denedim ama yine de xml tanımlı bir şekil için kullanılabilir değil . Açıklık sadece görünmez. – toobsco42

+0

Tıklama kabı şu şekilde ayarlanmalıdır: http://stackoverflow.com/questions/8641343/android-clickablespan-not-calling-onclick – toobsco42

İlgili konular