You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose中可变字体的正确定义方式及渲染异常咨询

可变字体在FontFamily中的定义异常问题求助

我在使用可变字体时遇到异常情况:当为Font指定variationSettings参数时,字体渲染正常;但注释掉该参数后,渲染效果完全异常。查看函数定义时两者功能看似等价,现附上完整Typography类代码及渲染截图,寻求解决方案。

正常工作的代码示例

private val proximaVara = FontFamily(
    Font(
        R.font.proximavara,
        variationSettings = FontVariation.Settings(
            FontVariation.weight(FontWeight.Normal.weight),
        )
    ),
)

异常的代码示例

private val proximaVara = FontFamily(
    Font(
        R.font.proximavara,
//        variationSettings = FontVariation.Settings(
//            FontVariation.weight(FontWeight.Normal.weight),
//        )
    ),
)

完整Typography类代码

private val proximaVara = FontFamily(
    Font(
        R.font.proximavara,
//        variationSettings = FontVariation.Settings(
//            FontVariation.weight(FontWeight.Normal.weight),
//        )
    ),
)

// Set of Material typography styles to start with
val Typography = Typography(
    bodyLarge = TextStyle(
        fontFamily = proximaVara,
        fontWeight = FontWeight.Normal,
        fontSize = 16.sp,
        lineHeight = 24.sp,
        letterSpacing = 0.5.sp
    )
    /* Other default text styles to override
    titleLarge = TextStyle(
        fontFamily = FontFamily.Default,
        fontWeight = FontWeight.Normal,
        fontSize = 22.sp,
        lineHeight = 28.sp,
        letterSpacing = 0.sp
    ),
    labelSmall = TextStyle(
        fontFamily = FontFamily.Default,
        fontWeight = FontWeight.Medium,
        fontSize = 11.sp,
        lineHeight = 16.sp,
        letterSpacing = 0.5.sp
    )
    */
)

渲染效果对比

  • 正常渲染(指定variationSettings):指定Variation时的正常渲染
  • 异常渲染(未指定variationSettings):未指定Variation时的异常渲染

内容的提问来源于stack exchange,提问作者dazza5000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 05:40:15