你如何在res/font文件夹内传递一个字体系列,例如@font/roboto_medium,作为一个 XML 格式的 Android 自定义视图的属性,然后在自定义视图中将它读入一个Typeface对象?这是对文本进行自定义图形渲染所必需的。
例如:
<MyCustomView android:fontFamily="@font/roboto_medium"/>
Run Code Online (Sandbox Code Playgroud)
然后在 MyCustomView.kt 中:
override fun onCreateView(...) {
// parse android:fontFamily attribute into Typeface object
val typeface: Typeface = ???
}
Run Code Online (Sandbox Code Playgroud)
Typeface似乎没有任何功能支持这一点。其中一个接受assets文件夹内的自定义字体,另一个接受直接嵌入在 Java/Kotlin 代码中的资源字体整数,例如R.font.roboto_medium.