我找到了一种从create
到TypeFaceSpan
TypeFace
的方法,如下所示:
fun getTypeFaceSpan(typeFace:TypeFace) = TypeFaceSpan(typeFace)
但是,仅在 API级别> = 28 中允许使用此API。是否有 Compat 档案可以达到 28岁以下?
答案 0 :(得分:2)
TypeFaceSpan
是 MetricAffectingSpan
。因此,即使没有没有任何确切的方法从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)