Ted*_*opp 15 android android-typeface android-paint
我正在创建一个自定义View类,使用StaticLayout从.ttf资产文件加载的自定义字体显示文本.字体的基本外观是serif字体,字体文件中的TrueType属性表示它是serif.然而,对于不在字体中的字符,Android会回归到无衬线字体(它看起来像Roboto或Noto,具体取决于Android版本).
有没有办法控制这个,以便Android布局引擎回归serif字体?(就像可能会传递一些魔术字符串Paint#setFontFeatureSettings(),或者也许是指定一堆字体用于Paint?)
当应用程序分发时,任何解决方案都必须工作,因此使用Android系统配置文件玩游戏不是一种选择.此外,我知道这个问题(四年后仍然没有答案),但我的问题有点不同,尽管两个问题的解决方案可能完全相同.
从 Lollipop 开始,有一个名为FontFamily的隐藏类和一个名为Typeface.createFromFamilies的隐藏方法。如果您非常小心,您可能可以通过反射或其他技巧来使用这些东西,但要准备好回退到公共 API。
| 归档时间: |
|
| 查看次数: |
259 次 |
| 最近记录: |