我使用android:textColorLink更改了超链接文本的文本颜色。现在 当用户点击它时我必须设置另一种颜色。我试过以下但没有改变。
android:textColorHighlight="@android:color/darker_gray"
如何为超链接文本设置选择颜色?提前感谢
答案 0 :(得分:1)
此属性android:textColorHighlight用于在选择要剪切或复制的文本时定义颜色。 您可以使用颜色选择器并将状态与您的状态相关联。 样本:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item color="@color/blue"
android:state_activated="false"/>
<item color="@color/red"
android:state_activated="true"/>
</selector>
点击链接后,为您的州设置一个标志。
答案 1 :(得分:1)
您可以使用setLinkTextColor
设置为ColorStateList
来获取xml或java代码中的效果。
link_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ffff0000"/>
<item android:state_selected="true" android:color="#ffff0000"/>
<item android:color="#ff0000ff"/>
</selector>
然后在你的java代码中
TextView textView = (TextView) findViewById(R.id.text_link);
textView.setLinkTextColor(getResources().getColorStateList(R.color.link_color));
textView.setLinksClickable(true);
textView.setClickable(true);
textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">Google</a>"));
答案 2 :(得分:0)
我已经解决了这个问题。感谢Squonk和alijandro
TextView textView = (TextView) view.findViewById(R.id.link_tv);
textView.setLinkTextColor(getResources().getColorStateList(
R.drawable.text_selector));
textView.setLinksClickable(true);
textView.setClickable(true);
textView.setAutoLinkMask(Linkify.WEB_URLS);
textView.setText("www.dummytext.com");
text_selector
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ff888888"/>
<item android:state_selected="true" android:color="#ff888888"/>
<item android:color="#ffffffff"/>
</selector>