SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
12.03.2025

Exibindo Código HTML em Diálogos a Partir de Arquivos strings.xml no Android

Resposta Rápida

Utilize CDATA para inserir HTML em strings.xml:

<string name="styled_text"><![CDATA[<b>Texto em negrito</b>]]></string>

Para exibir HTML em um TextView, use o método Html.fromHtml:

textView.setText(Html.fromHtml(getString(R.string.styled_text)));

O método android.text.Html.fromHtml() é essencial para uma exibição ótima de HTML.

Criando Hiperlinks Interativos

Para habilitar links clicáveis em um TextView, primeiro ative essa funcionalidade:

textView.setMovementMethod(LinkMovementMethod.getInstance());

Em seguida, configure os parâmetros correspondentes no seu arquivo de layout XML:

<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:linksClickable="true"/>

Escapando Caracteres HTML

Ao trabalhar com strings em strings.xml, lembre-se de escapar entidades HTML:

<string name="less_than">&lt;</string>  <!-- Escapando o símbolo "menor que", "&lt;" -->
<string name="greater_than">&gt;</string>  <!-- Escapando o símbolo "maior que", "&gt;" -->

Escapar facilita a interpretação correta dos caracteres.

Preservando a Estrutura do Texto

Você pode preservar espaços e quebras de linha usando a tag HTML <pre>:

<string name="preformatted_text"><![CDATA[<pre>Texto\n  Formatado</pre>]]></string>

Para passar texto formatado para um TextView, use o seguinte método:

textView.setText(Html.fromHtml(getString(R.string.preformatted_text)));

Usando WebView para HTML Complexo

Se TextView não for suficiente para exibir HTML complexo, utilize WebView:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Então, carregue HTML complexo assim:

webView.loadData(getString(R.string.complex_html_string), "text/html; charset=UTF-8", null);

Estilizando Elementos de Texto com a Tag <span>

Para estilizar fragmentos específicos de texto, utilize a tag <span>:

<string name="styled_span"><![CDATA[Texto simples <span style='color:red;'>Texto vermelho</span>]]></string>

Visualização

Um exemplo de visualização de HTML a partir de strings.xml em uma tabela:

strings.xml Saída no aplicativo
Texto normal: "Olá Mundo" Olá Mundo
Com HTML:
"<b>Olá</b> Mundo" Olá Mundo

strings.xml enriquece o texto e as tags HTML proporcionam um efeito expressivo único.

Sem usar HTML: é apenas um esboço.
Com o uso de HTML: a imagem ganha vida!

Garantindo a Consistência do Texto

Para manter a consistência do texto no aplicativo, configure sua aparência usando android:textAppearance:

<TextView
    android:id="@+id/textView"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium"/>

Essa abordagem permite uma aparência consistente do texto.

Lidando com Grandes Volumes de Dados

Para melhorar a experiência do usuário ao lidar com grandes volumes de conteúdo HTML em TextView, é aconselhável usar ScrollView:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/longTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</ScrollView>

Inserindo Imagens

Inserir imagens no texto pode ser realizado através de ImageView. Para facilitar o carregamento de imagens, utilize bibliotecas como Glide ou Picasso.

Armazenando e Acessando Strings HTML

Para garantir um código limpo e fácil gestão, armazene strings formatadas em strings.xml e acesse-as através da função getString() conforme necessário:

String formatoElegante = getString(R.string.html_content);
textView.setText(Html.fromHtml(formatoElegante));

Recursos Úteis

  1. Recursos de String | Android Developers — Guia oficial sobre recursos de string no Android.
  2. android - Como exibir HTML em TextView? - Stack Overflow — Discussão sobre como exibir HTML em TextView no Stack Overflow.
  3. Estilizando texto internacionalizado no Android | por Florina Muntenescu | Android Developers | Medium — Sobre as nuances de trabalhar com SpannableStrings no Android.
  4. Recursos de String | Android Developers — Sobre formatação e estilização de recursos de string no Android.
  5. Spannable | Android Developers — Documentação sobre como estilizar texto através de Spannable.
  6. Html | Android Developers — Informações detalhadas sobre o método Html.fromHtml() para Android.
  7. Linguagem de Marcação Extensível (XML) 1.0 (Quinta Edição) — Descrição da sintaxe XML e escape de caracteres.
  8. The CommonsBlog — Tags HTML Suportadas pelo TextView — Lista de tags HTML suportadas pelo TextView no Android.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!