Posso sottolineare il testo in un layout Android?

Come posso definire il testo sottolineato in un file xml del layout Android?

Soluzione

Può essere ottenuto se stai usando un file xml risorsa stringa, che supporta tag HTML come , e ``.


    This is an underline.

Se vuoi sottolineare qualcosa dal codice usa:

TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);
Commentari (10)

La risposta "accepted" di cui sopra non funziona NON (quando si cerca di usare la stringa come textView.setText(Html.fromHtml(String.format(getString(...), ...)).

Come indicato nelle documentazioni devi fare l'escape (codifica dell'entità html) della parentesi di apertura dei tag interni con <, ad esempio il risultato dovrebbe apparire come:


    This is an <u>underline</u>.

Poi nel tuo codice puoi impostare il testo con:

TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Html.fromHtml(String.format(getString(R.string.my_string), ...)));
Commentari (6)

Contenuto del file Strings.xml:


     This is an underline. 

Il file xml di layout dovrebbe usare la risorsa stringa di cui sopra con le seguenti proprietà di textview, come mostrato di seguito:

Commentari (1)