为什么 Jetpack Compose 不将按钮中的文本大写?

时间:2021-03-09 15:43:25

标签: android-jetpack-compose

文档似乎认为按钮应该全部大写 https://developer.android.com/reference/kotlin/androidx/compose/material/Typography#button 但实际上并非如此。 (使用 1.0.0-beta01)

如何更改我的主题以使按钮文本大写?

1 个答案:

答案 0 :(得分:0)

TextStyle 类中似乎还没有允许您设置大写的属性。 我找到的唯一解决方法是修改 button 的排版主题,并使用 fontFeatureSettingsTextStyle 属性将小写字母设置为带有 fontFeatureSettings = "c2sc, smcp"

示例Typography.kt

val Typography = Typography(
    button = TextStyle(
        fontFamily = FontFamily.Default,
        fontWeight = FontWeight.W500,
        fontSize = 16.sp,
        fontFeatureSettings = "c2sc, smcp"
    )
)

来自文档

<块引用>

字体提供的高级排版设置。格式与 CSS font-feature-settings 属性相同:https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop

不是一个非常漂亮的解决方案,但它是一些东西。 使用 1.1.0-alpha01

测试