当为TextView设置自定义字体时,我只能选择普通、粗体或斜体:
在以下示例中,如何将样式设置为轻体而不是粗体?
![enter image description here](https://istack.dev59.com/IBmmU.webp)
<TextViewWithCustomFont
...
android:textStyle="bold"/>
<TextViewWithCustomFont
...
android:textStyle="bold"/>
这是字体特定的。并不是所有字体都有轻(light),中等(medium),细(thin)的属性/样式,但默认字体应该有。您可以使用默认的轻字体,通过使用 fontFamily: sans-serif-light
或者对于细字体,使用fontFamily: sans-serif-thin
。
对于自定义字体,您需要包含该字体的轻版本并使用它。
作为改变字体外观的相邻解决方案,您可以使用letterSpacing
。这将更改TextView内字母之间的距离。
像0.2这样的正数将增加间隔,而像-0.1这样的负数会将字母挤在一起。
在Android 21+中,您可以以编程方式调用setLetterSpacing或在XML中添加letterSpacing。
您只能组合以下三种属性:
http://developer.android.com/reference/android/widget/TextView.html#attr_android:textStyle
因此它可以是:
android:textStyle="normal|bold|italic"
或android:textStyle="normal|bold"
, 共有超过十种组合可供选择。 - g00dynormal
(普通),bold
(加粗),italic
(斜体)和bold|italic
(加粗斜体)。在代码中,它们分别对应Typeface.NORMAL
(普通字体)、Typeface.BOLD
(加粗字体)、Typeface.ITALIC
(斜体字体)和Typeface.BOLD_ITALIC
(加粗斜体字体)。由于它们都是整数,其中加粗为 1,斜体为 2,加粗斜体为 3,因此Typeface.ITALIC|Typeface.BOLD == Typeface.BOLD_ITALIC
。 - Ivoandroid:textStyle="normal|bold"
只是让文本加粗吗? - Sam