Je ne voulais pas que le lien sur le bouton soit souligné. Je l'ai fait de cette façon:Android, bouton, lien souligné
string.xml
<string name="link"><a href="http://web.com/web.php">mighty web</a></string>
activity.xml
<Button
android:id="@+id/web"
android:layout_width="160dip"
android:layout_height="160dip"
android:layout_marginLeft="2dp"
android:background="@drawable/bigroundbutton"
android:textColorLink="@android:color/white"
android:textSize="30sp" />
bigroundbutton.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#3a5795" />
<corners android:bottomRightRadius="160dip"
android:bottomLeftRadius="160dip"
android:topRightRadius="160dip"
android:topLeftRadius="160dip"/>
activity.java
Button but = (Button) findViewById(R.id.web);
Spannable s = (Spannable) Html.fromHtml(getResources().getString(R.string.link));
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span: spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanline_none(span.getURL());
s.setSpan(span, start, end, 0);
}
but.setText(s);
......................
private class URLSpanline_none extends URLSpan {
public URLSpanline_none(String url) {
super(url);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
Tout fonctionne bien. Je cours apk, le lien n'est pas souligné. Je tape dessus. Ça marche. Génial. Ensuite, je ferme App et l'ouvrir à nouveau. Le lien est souligné. Quand je relance apk, il n'est pas souligné de nouveau, jusqu'à ce que je tape dessus.
Des idées pour résoudre ce problème? Est-il considéré comme "lien visité" après le premier robinet? Je n'ai plus d'idées.
essayez d'utiliser: @android: couleur/transparent – Aakash
Ensuite, le texte sur le bouton est invisible – JohnK
android: textColorLink = "@ android: couleur/transparent" – Aakash