Multiple TypeFace en TextView único

Quiero fijar el primer carácter en TextView con un TypeFace y el segundo carácter con una cara diferente del tipo y así sucesivamente.
He leído este ejemplo:

 Spannable str = (Spannable) textView.getText(); str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7 ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

Pero no me ayudó, porque quiero establecer múltiples TypeFace (external TTFs)
¿¿Alguna idea??

Utilice el siguiente código: (Estoy usando fuente Bangla y Tamil)

  TextView txt = (TextView) findViewById(R.id.custom_fonts); txt.setTextSize(30); Typeface font = Typeface.createFromAsset(getAssets(), "Akshar.ttf"); Typeface font2 = Typeface.createFromAsset(getAssets(), "bangla.ttf"); SpannableStringBuilder SS = new SpannableStringBuilder("আমারநல்வரவு"); SS.setSpan (new CustomTypefaceSpan("", font2), 0, 4,Spanned.SPAN_EXCLUSIVE_INCLUSIVE); SS.setSpan (new CustomTypefaceSpan("", font), 4, 11,Spanned.SPAN_EXCLUSIVE_INCLUSIVE); txt.setText(SS); 

El resultado es:

Introduzca aquí la descripción de la imagen


Esto utiliza la clase CustomTypefaceSpan , tomada de ¿Cómo puedo utilizar TypefaceSpan o StyleSpan con un tipo de letra personalizado? :


 package my.app; import android.graphics.Paint; import android.graphics.Typeface; import android.text.TextPaint; import android.text.style.TypefaceSpan; public class CustomTypefaceSpan extends TypefaceSpan { private final Typeface newType; public CustomTypefaceSpan(String family, Typeface type) { super(family); newType = type; } @Override public void updateDrawState(TextPaint ds) { applyCustomTypeFace(ds, newType); } @Override public void updateMeasureState(TextPaint paint) { applyCustomTypeFace(paint, newType); } private static void applyCustomTypeFace(Paint paint, Typeface tf) { int oldStyle; Typeface old = paint.getTypeface(); if (old == null) { oldStyle = 0; } else { oldStyle = old.getStyle(); } int fake = oldStyle & ~tf.getStyle(); if ((fake & Typeface.BOLD) != 0) { paint.setFakeBoldText(true); } if ((fake & Typeface.ITALIC) != 0) { paint.setTextSkewX(-0.25f); } paint.setTypeface(tf); } } 

Prueba esto

 textview.setText(Html.fromHtml("<i><u>yr text</u></i>")); textview.setTypeface(yr typeface) 
  • ¿Cómo puedo configurar el tamaño de vista previa de la cámara a pantalla completa con la API de Android?
  • Android: crea un servicio que se ejecuta una vez al día
  • LRUCache reordenación de entrada al usar get
  • "El prefijo" xliff "para el elemento" xliff: g "no está enlazado"
  • ¿El límite de los hilos en android?
  • Cómo programar una ejecución de código en android o: ¿qué son exactamente los hilos de daemon en android?
  • SysUtils: ApplicationContext es null en ApplicationStatus (WebView)
  • Android Marshmallow 6.0.1 rompió mi reconocimiento de voz continua
  • Android.intent.action.PACKAGE_ADDED BroadcastReceiver no recibe el tema añadido intención en JB 4.1
  • Evento onClick no está desencadenando | Androide
  • Crear cadena JSON con GSON
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.