Eu gostaria de exibir, por exemplo, este código html:
<body>
<p><b>Hello World</b></p>
<p>This is a test of the URL <a href="http://www.example.com"> Example</a></p>
<p><b>This text is bold</b></p>
<p><em>This text is emphasized</em></p>
<p><code>This is computer output</code></p>
<p>This is<sub> subscript</sub> and <sup>superscript</sup></p>
</body>
Eu quero exibi-lo em uma caixa de diálogo, declarando html em recursos strings.xml
. Como eu posso fazer isso?
Respostas:
A melhor maneira de adicionar código-fonte html em strings.xml é usar
<![CDATA[html source code]]>
. Aqui está um exemplo:Então você pode exibir este html em TextView usando:
Se você tiver links em seu html e quiser que eles sejam clicáveis, use este método:
fonte
getText()
vez degetString()
: stackoverflow.com/a/18199543/89818CDATA
o HTML real que você inclui é muito mais fácil - não há necessidade de traduzir todos os <,>, etc. Basta copiar o HTML real e colar em seu string.xmlAqui está a maioria dos exemplos. Não acho que a
pre
tag seja compatível.Este é o
strings.xml
arquivo:Aqui está o layout. Observação para que o link seja realmente clicável, é necessário um pouco de trabalho extra:
Finalmente, o código:
fonte
String.xml pode conter entidades HTML, como:
Em seu código:
getResources().getString(R.string.hello_world);
avaliará para"<span>"
. Você pode usar este texto formatado em HTML como este:fonte
Todo o estilo suportado pelo sistema de recursos XML é explicado na documentação do Android.
Recursos de string: formatação e estilo
Qualquer coisa incluída lá pode ser usada e ativada diretamente
TextView
. Se você precisar usar mais marcação HTML, você precisará colocar HTML bruto (com caracteres de escape para<
,>
e outros) no recurso e carregar tudo em umWebView
.fonte
Funcionou para mim:
fonte