android ttc字体,android从ttc字体设置默认字体和字体系列

我有一个ttc font系列文件(在Mac上打开时可以看到),我想将其中一种样式设置为默认font并进行一些更改textView中的字体与该字体家族的另一种样式。

在此post和此post中,我用这些答案尝试了很多事情。

我也已经读过这个documentation。但这对我没有帮助。

在尝试的每个答案上,我都会遇到不同的错误,例如找不到font文件,无法为TextView充气(当我启动应用程序时,由于存在font文件我猜)。

我目前的情况是:

我的avenir.ttc文件位于font文件夹下的res文件夹下。

我已将这一行放在我的styles.xml中:

@font/avenir

当我在override文件中Application时,

TypeFaceUtil.overrideFont(applicationContext, "font/avenir.ttc")

方法:

fun overrideFont(context: Context, customFontFileNameInAssets: String) {

val customFontTypeface = Typeface.createFromAsset(context.assets, customFontFileNameInAssets)

val newMap = HashMap()

newMap["avenir"] = customFontTypeface

try {

val staticField = Typeface::class.java

.getDeclaredField("sSystemFontMap")

staticField.isAccessible = true

staticField.set(null, newMap)

} catch (e: NoSuchFieldException) {

e.printStackTrace()

} catch (e: IllegalAccessException) {

e.printStackTrace()

}

}

,我收到以下错误:

找不到字体资产font / avenir.ttc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值