相关疑难解决方法(0)

按下时更改单个ClickableSpan的文本颜色,而不影响同一TextView中的其他ClickableSpans

我有一个带有多个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)

layout android textcolor textview

44
推荐指数
4
解决办法
3万
查看次数

具有自定义背景颜色状态列表(按下状态)的ClickableSpan

我有一个TextView,其中包含一个可点击的文本,后跟一个普通文本,后跟一个可点击的文本.我想为可点击的文本设置自定义按下的颜色,而不是整个TextView.现在我可以删除下划线,通过子类化(见此)ClickableSpan来更改文本,但无法设置按下的状态颜色.
请建议.

android textview

6
推荐指数
0
解决办法
477
查看次数

标签 统计

android ×2

textview ×2

layout ×1

textcolor ×1