将我的 Android 应用 Java 代码转换为 Kotlin,我正在使用数据绑定将自定义字体设置为 TextViews。我曾经从 XML 传递字体字符串,如下所示
app:customFont="@{'harmonia-semibold.ttf'}"
将 @BindingAdapter 转换为 kotlin 后,上面的行不起作用,并且预期会抛出 expr 或 lambda 表达式,出现“””错误。用 getter 方法替换硬编码的字符串值效果很好。下面是我的绑定适配器,不知道为什么它不采用硬编码字符串
@JvmStatic
@BindingAdapter("app:customFont")
fun setCustomFont(textView: TextView, font: String) {
textView.typeface = Typeface.createFromAsset(textView.context.assets, font)
}
谢谢