SDKバージョン28以下のTypeFaceからTypeFaceSpanを作成する 質問する

SDKバージョン28以下のTypeFaceからTypeFaceSpanを作成する 質問する

create TypeFaceSpan私は次のようにする方法を見つけましたTypeFace:

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

しかしこのAPIは許可されたのみAPI レベル >= 28。 どれでも互換性これを達成するためのライブラリ28歳未満?

ベストアンサー1

TypeFaceSpan MetricAffectingSpan。だから、たとえ正確な方法ではない得る TypeFaceSpanからSpanCustomTypeFaceSpan以下のように作成し、 の代わりに使用することができます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)

おすすめ記事