Оказалось простое решение !
Однако вы не сможете выполнить дифференцирование visited
/ not visited
.
TextView contactWeb1 = (TextView) findViewById(R.id.contactWeb1);
noteView.setText("http://www.blablaasd.com/");
noteView.setLinkTextColor(Color.red); //for example
Linkify.addLinks(noteView, Linkify.ALL);
My пытается перехватить посещенные состояния :
Используйте
noteView.setLinkTextColor(getResources().getColorStateList(R.color.colors));
Вместо
noteView.setLinkTextColor(Color.red);
В res/
создайте папку color
и создайте colors.xml
в res/color/
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_window_focused="true" android:color="#00ff00">
</item>
<item
android:state_window_focused="true" android:color="#00ff00">
</item>
<item android:color="#FF00ff"/>
</selector>
Я изо всех сил старался поймать посещенные штаты.Я перепробовал все состояния, которые может принимать селектор.
Возможно, я пропустил В случае, если вы узнали, поделитесь (:
ALTERNATE SOLUTION (работает толькоhtml links)
Установка цвета шрифта программно
Недостаток (будьте осторожны в этом вопросе)
КОД :
TextView contactWeb1 = (TextView) findViewById(R.id.contactWeb1);
String desc = "<font color=\"red\"><a href='http://www.mysite.com/'>Visit my site</a></font>";
contactWeb1.setText(Html.fromHtml(desc));
contactWeb1.setMovementMethod(LinkMovementMethod.getInstance());