Có cách nào chúng tôi có thể đặt tùy chỉnh có thể vẽ (từ tài nguyên) thành một khoảng không, đặc biệt là ClickSpan, của TextView?Android - Đặt nền có thể vẽ tùy chỉnh thành ClickSpan
Google trả về nhiều câu trả lời để tắt đánh dấu hoặc thay đổi màu sắc, v.v. bằng cách ghi đè cập nhậtDrawState() của khoảng, nhưng tôi không thấy cách có thể đặt mức có thể vẽ được với nền.
Tôi thấy một khả năng trong DynamicDrawableSpan, nhưng tôi không thể làm cho nó hoạt động cùng với ClickableSpan. Đây là mã của tôi:
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;
}
}
Và đây là cách tôi sử dụng nó:
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
MyDynamicDrawableSpan ddSpan = new MyDynamicDrawableSpan(getApplicationContext());
...
ssb.setSpan(ddSpan, start, end, 0);
ssb.setSpan(new ClickableSpan(...
này không hoạt động. Nó chỉ giúp làm cho khoảng không nhìn thấy được. Có ý tưởng sáng nào không?
tệp span_background.xml của bạn trông như thế nào? Tôi đã thử một cái gì đó tương tự bằng cách tạo ra một hình dạng drawable, nhưng span hiển thị như là vô hình. Có phải vì hình dạng có thể vẽ được phải được đặt ở chế độ nền của chế độ xem như nút không? http://stackoverflow.com/questions/6674657/how-change-button-shape-using-xml-or-using-java-code – toobsco42
Tôi đang làm một cái gì đó tương tự Ở đây http://stackoverflow.com/questions/10812316/ contact-bubble-edittext – toobsco42
ở đây tôi đã giải thích rõ. Bạn có thể thấy [answer] của tôi (http://krishnalalstha.wordpress.com/2012/06/07/making-gosmsproevernote-like-edittext/) –