Android:单击时更改ClickableSpan的背景色
我有一个可点击span的SpannableString,如下所示Android:单击时更改ClickableSpan的背景色,android,Android,我有一个可点击span的SpannableString,如下所示 for (int i = 0; i < items.size(); i++) { final SpannableString span = new SpannableString(items.get(i)); final int index=i; span.setSpan(new ClickableSpan() { @
for (int i = 0; i < items.size(); i++) {
final SpannableString span = new SpannableString(items.get(i));
final int index=i;
span.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(Color.LTGRAY);
ds.setUnderlineText(false);
}
}, 0, span.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(span);
}
//my text view
txt.setText(builder);
txt.setMovementMethod(LinkMovementMethod.getInstance());
for(int i=0;i
我想做的是在单击时更改跨度的前景色
我如何才能做到这一点?我扩展了clickableSpan类,并向它传递了一个标志,让我知道我应该突出显示它
SpannableStringBuilder tag;
.... tag.setSpan(new WordSpan(i, tokens[i], wordtohighlitedID) {
使用以下命令:
view.setSelector(new ColorDrawable(Color.BLUE));
如果您希望消除选择上的绿色突出显示,以下是您想要知道的: 显然,在自定义类中重写
public void updateDrawState(TextPaint ds)
不会影响高亮显示颜色。它仅用于设置下划线颜色(或隐藏/显示)
您需要做的只是:
textView.setHighlightColor(Color.TRANSPARENT)代码>
其中textView是包含ClickableSpan的内容
希望它对你们所有人都有效。
请随意询问任何相关问题。ds.setColor(Color.LTGRAY);这不是clicable Span的颜色这会给它一个初始颜色,我想在单击它时设置一个不同的颜色这只适用于ListView,与Spans无关。正是我在找这个。
view.setSelector(new ColorDrawable(Color.BLUE));