我找到了一种create TypeFaceSpan方法TypeFace:
fun getTypeFaceSpan(typeFace:TypeFace) = TypeFaceSpan(typeFace)
但是这个 API 只允许在API 级别 >= 28中使用。任何Compat libray 可以在 28 以下实现这一目标?
我找到了一种create TypeFaceSpan方法TypeFace:
fun getTypeFaceSpan(typeFace:TypeFace) = TypeFaceSpan(typeFace)
但是这个 API 只允许在API 级别 >= 28中使用。任何Compat libray 可以在 28 以下实现这一目标?
TypeFaceSpan 是一个 MetricAffectingSpan。因此,即使没有任何确切的方法可以从中获取 ,我们也可以像下面一样使用它来代替.TypeFaceSpanSpanCustomTypeFaceSpanTypeFaceSpan
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)