Dibuja un personaje con 2 colores en Android

Estoy tratando de lograr una animación de texto karaoke en una Textview. Algo como esto:

Efecto de texto de karaoke

Para que sea suave, quiero encontrar una manera de dibujar un carácter de 2 colores (como s en la imagen).

Encontré este enlace pero el HalfColorSpan no dibujó nada.

¿Hay alguna forma de lograrlo?

P / S: He pensado en LinearGradient, pero este código sólo establece el degradado VERTICALMENTE.

 class HalfColorSpan extends CharacterStyle implements UpdateAppearance { private final static String TAG = "DrawableSpanTest.HalfColorSpan"; @Override public void updateDrawState(TextPaint paint) { paint.setStyle(Paint.Style.FILL); Shader shader = new LinearGradient(0, 0, 0, 80, new int[]{PROCESSED_COLOR, UNPROCESSED_COLOR}, new float[]{0, 1}, Shader.TileMode.CLAMP); paint.setShader(shader); } } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.