TypeFaceSpan
- это MetricAffectingSpan
. Таким образом, даже если не существует точного пути к get TypeFaceSpan
из Span
, мы можем сделать CustomTypeFaceSpan
, как показано ниже, и использовать его вместо TypeFaceSpan
.
class CustomTypefaceSpan(private val typeface: Typeface?) : MetricAffectingSpan() {
override fun updateDrawState(paint: TextPaint) {
paint.typeface = typeface
}
override fun updateMeasureState(paint: TextPaint) {
paint.typeface = typeface
}
}
И используйте это так:
val typeFaceSpan = CustomTypefaceSpan(typeface)