android 可变字体 fontVariationSettings

问题描述 投票:0回答:2

使用 API 29 和可变字体(来自 google fonts 的 Inter v3.19,.ttf)

似乎无论我为

fontVariationSettings
设置什么值,TextView 都会忽略该设置。当放入像
'wght' 700
这样的 styles.xml 值时,会触发
Execution failed for task ':app:mergeDebugResources'.

的构建错误

应该如何在 Android 上使用可变字体?

android android-studio fonts
2个回答
0
投票

首先确保您的字体支持权重轴,方法是在任何网站(如https://fontdrop.info/)中检查它。

在我的例子中,我必须使用 MaterialTextView 才能使其发挥作用。

<com.google.android.material.textview.MaterialTextView
    android:id="@+id/header_text"
    android:fontFamily="@font/font_variable"
    app:fontVariationSettings="'wght' 700" />

-2
投票

您可以在 build() 之前setFontVariationSettings

// ...
builder.setFontVariationSettings("'wght' 700")
builder.build()

或者尝试Typeface.Builder。这对我来说非常有用。

val builder = Typeface.Builder(/* ... */)
builder.setFontVariationSettings("'wght' 700")
textView.typeface = builder.build()
© www.soinside.com 2019 - 2024. All rights reserved.