我有一个带有多个ClickableSpans的TextView.当按下ClickableSpan时,我希望它改变其文本的颜色.
我已经尝试将颜色状态列表设置为TextView的textColorLink属性.这不会产生所需的结果,因为当用户单击TextView上的任何位置时,这会导致所有跨度改变颜色.
有趣的是,使用textColorHighlight更改背景颜色按预期工作:单击跨度仅更改该跨度的背景颜色,并单击TextView中的任何其他位置不执行任何操作.
我也尝试使用与ClickableSpans相同的边界设置ForegroundColorSpans,我在其中传递与上面相同的颜色状态列表作为颜色资源.这也不起作用.跨度始终保持颜色状态列表中默认状态的颜色,并且永远不会进入按下状态.
有谁知道如何做到这一点?
这是我使用的颜色状态列表:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/pressed_color"/>
<item android:color="@color/normal_color"/>
</selector>
Run Code Online (Sandbox Code Playgroud) 我有一个TextView,其中包含一个可点击的文本,后跟一个普通文本,后跟一个可点击的文本.我想为可点击的文本设置自定义按下的颜色,而不是整个TextView.现在我可以删除下划线,通过子类化(见此)ClickableSpan来更改文本,但无法设置按下的状态颜色.
请建议.