2011-10-19 17 views
6

escribo esta línea en el strings.xml:Android: hacer que los caracteres en negrita en XML

<string name="Help">This<b>Caaaaaa</b> on the spot.</string> 

Pero los caracteres entre la etiqueta <b> no se conviertan en negrita. ¿Qué estoy haciendo incorrectamente? PD: Solo quiero hacer un papel en la cuerda (como "Caaaa" arriba) en negrita.

Respuesta

23

Cuando se establece el texto de algún widget para esta cadena utilice el siguiente código:

En uso strings.xml esto para añadir ur cadena:

<string name="Help"> 
    <![CDATA[ 
    This <b>Caaaaaa</b> on the spot. 
    ]]> 
    </string> 

En su actividad

yourWidget.setText(Html.fromHtml(getString(R.string.Help))); 
+0

¡Gracias pero no funciona! –

+0

¿eh? @ZhaoRocky, ¿qué quieres decir con que no funciona? ¡Ha sido usado para siempre! –

+0

@ZhaoRocky verifique las ediciones –

0

Echa un vistazo a here. Puede establecer el estilo de texto en el archivo XML de diseño.

1

Creo que no se puede hacer eso en el archivo string.xml.

pero puede establecer textStyle = "bold" donde lo está usando.

como-

<TextView android:textSize="18dip" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:textColor="@color/white" 
    android:textStyle="bold" 
    android:text="@string/Help" 
    android:id="@+id/header"> 
</TextView> 
+0

Sí, pero usando este método tengo que agregar algunas otras operaciones que tratan con los personajes: "Caaaaaa", incluyendo agregar uno o más TextView. :( –

1

etiquetas en XML, por ejemplo <string> y <b> tienen ningún significado intrínseco. La etiqueta <b> solo significa "negrita" si el software que procesa el XML piensa que significa negrita y la trata como negrita. No ha dicho qué software está procesando el XML.

Si esto fuera HTML en lugar de XML, sería una cuestión diferente.

+1

Gracias. Lo escribo en el archivo 'strings.xml' y obtengo la cadena por 'String a = res.getString (R.string.Help)'. Luego lo configuro como 'TextView': 'tv.setText (a)'; Entonces, ¿cómo puedo obtener la cadena en negrita? –

+0

Parece que estaba haciendo la pregunta en relación con una aplicación donde su archivo XML se está utilizando como un "archivo de recursos de cadena" de Android. Esto deja en claro: las etiquetas XML no tienen ningún significado excepto en relación con un vocabulario específico. –

Cuestiones relacionadas