Android API中的自定义字体低于16?
Posted
技术标签:
【中文标题】Android API中的自定义字体低于16?【英文标题】:Custom fonts in Android API below 16? 【发布时间】:2014-10-01 11:16:21 【问题描述】:我正在开发我的第一个大于一个活动的 android 应用程序。
我读过这个:
Android 4.1 添加了更多 Roboto 字体样式的变体,用于 共有 10 个变体,它们都可以被应用程序使用。您现在的应用 可以访问全套轻量级和浓缩型变体。
(这里:link)
我也在某处读到,我可以使用自定义 TTF 字体。
是否意味着,低于 4.1(API 16)的 Android API 不能支持自定义字体?
我必须使用 API 16 或更高版本吗?我现在有 4.0.4 的手机,我还不想扔掉它......
【问题讨论】:
【参考方案1】:不要扔掉你的手机!您当然可以使用低于 API 级别 16 的自定义字体。
首先将您的字体(ttf 文件)添加到您的/assets
文件夹,然后执行以下操作:
Typeface typeface = Typeface.createFromAsset(getAssets(), "myfont.ttf");
myTextView.setTypeface(typeface);
http://developer.android.com/reference/android/widget/TextView.html#setTypeface(android.graphics.Typeface)
它从 API 级别 1 开始就存在了。
您问题中的字体无需包含任何字体文件即可使用 - 它们不是“自定义”的,而是内置在平台中并可供所有人使用。
【讨论】:
嗯,对所有 TextView 和其他对象都这样做有点痛苦。我想没有办法将字体应用于整个活动......我是对的吗?当我对所有对象执行一些 for 循环时,我担心活动初始化性能会受到影响。 你可以试试这个方法:***.com/questions/2711858/…我已经按照上面的方法做了,也不是太痛苦。只需重用您的字体对象。以上是关于Android API中的自定义字体低于16?的主要内容,如果未能解决你的问题,请参考以下文章
针对特定 API 级别的自定义 Android/Flutter 版本
android中listvliew中的自定义字体Text-View