gpt4 book ai didi

android - 从 SDK 版本 28 以下的 TypeFace 创建 TypeFaceSpan

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:40 26 4
gpt4 key购买 nike

我找到了一种从 TypeFace创建 TypeFaceSpan 的方法,如下所示:

fun getTypeFaceSpan(typeFace:TypeFace) = TypeFaceSpan(typeFace)

但是此 API 仅在 API 级别 >= 28允许。任何 Compat 库都可以低于 28

最佳答案

TypeFaceSpan 是一个 MetricAffectingSpan。所以即使没有没有任何确切的方法Span得到TypeFaceSpan,我们也可以制作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)

关于android - 从 SDK 版本 28 以下的 TypeFace 创建 TypeFaceSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55368532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com