Cambiar el color de subrayado de TextView

Estoy tratando de cambiar el color del indicador de subrayado en unTextView.

Sé que puedo subrayar texto como este

Spanned htmlString = Html.fromHtml("<u> <font color=\"#FF0000\"> some text </font> </u>")
someTextView.setText(htmlString);

Y asi

SpannableString content = new SpannableString(test);
content.setSpan(new UnderlineSpan(), 0, test.length(), 0);
tvTest.setText(content);

Pero ambas soluciones usan el mismo color para el texto y el indicador de subrayado. Quiero saber si puedo cambiar el color del indicador de subrayado de una manera sensata sin ningún fondo XML y hacks de reflexión como se ve aquí

¿Cómo subrayar el texto en TextView con un color diferente al del texto?

Quiero subrayar solo el texto, no los rellenos, los márgenes. Mi texto también puede abarcar varias líneas, quiero que cada línea esté subrayada. (Aquí es donde falla la solución XML).

Resultado de mi código

Respuestas a la pregunta(1)

Su respuesta a la pregunta