2011-07-08 10 views
8

Algunas etiquetas HTML en el archivo strings.xml se prestan adecuadamente cuando se utiliza en un TextView, así por ejemplo, el siguiente recurso de texto aparecería en negrita:etiquetas de formato HTML ignorados en diálogo

<string name="example_text"><b>This text is bold</b></string> 

Sin embargo, si el mismo texto se usa en un cuadro de diálogo personalizado, el formato se ignora.

¿Alguien sabe cómo formatear parte del texto en una vista de desplazamiento dentro de un cuadro de diálogo?

Respuesta

8

Se puede formatear con HTML usando una vista Web en el cuadro de diálogo:

strings.xml

<string name="example_text" formatted ="false"><![CDATA[ <strong> Example Text </strong> ]]></string> 

java

String string = getString(R.string.example_text); 
WebView wv = new WebView (getBaseContext()); 
wv.loadData(string, "text/html", "utf-8"); 
wv.setBackgroundColor(Color.WHITE); 
wv.getSettings().setDefaultTextEncodingName("utf-8"); 
new AlertDialog.Builder(this) 
.setCancelable(false) 
.setView(wv) 
.setNeutralButton("OK", new DialogInterface.OnClickListener(){ 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     dialog.cancel(); 

    } 

    }) 
.show(); 
+0

Esto funciona muy bien, gracias. El color de la fuente también se puede cambiar agregando las etiquetas . –

+0

¡Gran solución! Gracias – Komi