我可以改变clickablespan的外观和感觉

时间:2010-11-26 06:26:32

标签: android coding-style textview

我必须在段落文本中嵌入可点击的文本,clickablespan可以执行此操作。但是,我可以更改这些样式,而不是使用默认的焦点/按下/非焦点样式吗?喜欢焦点时,背景颜色为蓝色,文字颜色为白色,不聚焦时,背景颜色为白色,文字颜色为蓝色。

3 个答案:

答案 0 :(得分:21)

以下是示例

bottomMsg = (TextView) findViewById(R.id.bottom_msg);
int start = bottomMsg.getText().toString().indexOf(terms);
MovementMethod movementMethod = LinkMovementMethod.getInstance();
bottomMsg.setMovementMethod(movementMethod);

Spannable text = (Spannable) bottomMsg.getText();
//TermAndConditions is a clickableSpan.
text.setSpan(new TermAndConditions(), start, start + terms.length(), Spannable.SPAN_POINT_MARK);
text.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.customYellowColor)), start, start + terms.length(), 0);

关键是,颜色跨度在可点击范围之后。否则,颜色没有改变。

答案 1 :(得分:18)

您可以覆盖updateDrawState的{​​{1}}方法:

ClickableSpan

答案 2 :(得分:4)

链接颜色可以在xml中更改:

import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend('D:\\Users\\rk\\projects\\GGM\\Code')