我想在font_family.xml
中添加自定义粗体字体。我在font family developer doc中找不到粗体fontStyle="bold"
。它只有normal
或italic
属性。这是font_family.xml
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>
所以我必须使用像
这样的风格<style name="fontBoldStyle" parent="@android:style/TextAppearance.Small">
<item name="android:fontFamily">@font/montserrat_semi_bold</item>
</style>
或者像这样
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/montserrat_semi_bold"/>
我的问题
fontStyle
属性有什么作用?即使我没有向font_family.xml
提供斜体字体,也设置textStyle="italic"
然后我的字体是斜体。 android:fontStyle="bold"
中设置font_family.xml
,这样我就不必创建不同的样式,我只需设置textStyle="bold"
那么什么是我可以设置我的3种字体的解决方案 - normal, bold, italic
到font_family.xml,并在TextView上设置android:fontFamily="@font/font_family"
然后我可以使用android:textStyle="bold"
或斜体,或者正常?
答案 0 :(得分:3)
关于您的第二个问题:
通过使用 font-family
定义字体,您可以在fontWeight="700"
中添加自定义粗体字体:
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
<font
android:fontStyle="normal"
android:fontWeight="700"
android:font="@font/montserrat_semi_bold" />
</font-family>
如果TextView
与font-family
一起使用此fontStyle="bold"
,它将显示在 montserrat_semi_bold
答案 1 :(得分:0)
以这种方式以编程方式设置字体粗体
mTextView.setTypeface(Typeface.ttf, Typeface.BOLD);
或者
mTextView.setTypeface(mTextView.getTypeface(), Typeface.BOLD);
或您可以使用绘画对象并将其设置为文本
答案 2 :(得分:-1)
您可以通过在layout.xml中应用名为 android:textStyle
的属性来实现此目的
你可以这样做:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />