Typeface.ITALIC que no trabaja en Galaxy Note 2

votos
11

Estoy haciendo una aplicación donde a veces quiero cambiar el tipo de letra de un TextView a cursiva, dependiendo de los datos a mostrar.

En mi Galaxy Nexus, es simplemente un caso de

textView.setTypeface(font, iWantItalics ? Typeface.ITALIC : Typeface.NORMAL);

y funciona muy bien.

El problema es que tengo un nuevo Galaxy Note II para probar y ... pues no, ni cursiva.

La lectura de los dispositivos de Samsung de apoyo setTypeface (Typeface.Italic)? Me da la impresión de que se trata de un error en la compilación de Android de la nota, por lo que la fuente Roboto simplemente no tiene cursiva. He probado todos los consejos sobre ese hilo y otros similares ( Typeface.defaultFromStyle(Typeface.ITALIC), Typeface.create(null, Typeface.ITALIC), etc.), pero sin suerte.

Mi problema es que la solución del chico de ese hilo utilizado estaba copiando el Roboto TTF en el assetsdirectorio y la creación de la fuente de allí, pero ¿qué pasa con las personas con otro tipo de letra predeterminado en sus teléfonos? No quiero forzar Roboto en ellos o, peor aún, tener esa otra fuente cuando el tipo de letra es normal y cursiva Roboto lo contrario.

Nadie tiene una idea para mí? Gracias.

Publicado el 28/11/2012 a las 02:23
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
14

Como una solución para este error, se puede establecer el texto en cursiva de esta manera (que parece funcionar en los dispositivos de Samsung rotos):

textView.setText(setTextStyleItalic(textView.getText());

y lo que necesita este método:

public static CharSequence setTextStyleItalic(CharSequence text) {
    final StyleSpan style = new StyleSpan(Typeface.ITALIC);
    final SpannableString str = new SpannableString(text);
    str.setSpan(style, 0, text.length(), 0);
    return str;
}
Respondida el 19/02/2013 a las 16:25
fuente por usuario

votos
4

Otra solución fácil es hacerlo de esta manera:

myTextView.setText(Html.fromHtml("<i>" + myString + "</i>"));
Respondida el 29/05/2013 a las 14:05
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more