Android字体权重,android – 如何设置自定义字体权重?

就像主题暗示的那样,我想以编程方式更改/设置任意字体的font weight.

编辑:我的意思是一般用于绘制字符串的字体.

谢谢你的任何信息.

解决方法:

据我所知,加载字体后无法修改.您可以从现有字体创建新的字体,如下所示:

Typeface typeface = Typeface.createFromAsset(getAssets(), "myfontfamily.otf");

Typeface boldTypeface = Typeface.create(typeface, Typeface.BOLD);

当然,这还取决于您的特定字体是否具有不同的权重.通常(总是?)这些将是单独的文件,例如,Bitstream Vera Sans有Vera.ttf,VeraBd.ttf,VeraIt.ttf,VeraBI.ttf,每个不同的姿势/体重组合各一个.只需根据您需要的重量加载正确的字体.

编辑:是的,字体通常是非常专门针对不同的权重重绘,至少对于精心设计的字体.如果您只是寻找类似人造粗体样式(如Photoshop或Office适用于没有定义粗体样式的字体),您可能可以使用TextPaint类,并设置FAKE_BOLD_TEXT_FLAG标志以获得类似的结果.或者,您可以使用不同的笔触宽度来获得类似的效果.尽管如此,它仍然限于非常小的修改,特别是在小尺寸的情况下,或者你可能最终将文本与笔划相交,并且看起来很简单.

标签:android,fonts

来源: https://codeday.me/bug/20190726/1544051.html