Posso sublinhar o texto num esquema Android?

Como posso definir o texto underlined em um arquivo xml de layout do Android?

Solução

Ele pode ser alcançado se você estiver utilizando um arquivo **string resource*** xml, que suporta tags HTML como , e ``.


    This is an underline.

Se você quiser sublinhar algo do uso do código:

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

O "aceito" a resposta acima faz **NÃO*** funcionar (quando você tenta utilizar a string como textView.setText(Html.fromHtml(String.format(getString(...), ...))).

Como indicado em documentações você deve escapar (entidade codificada em html) abrindo colchetes das tags internas com <, por exemplo, o resultado deve ser parecido:


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

Depois no seu código você pode definir o texto com:

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

Conteúdo do arquivo Strings.xml:


     This is an underline. 

O layout do arquivo xml deve usar o recurso de string acima com as propriedades de visualização de texto abaixo, como mostrado abaixo:

Comentários (1)