Android 撰写字体行高不起作用

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

我正在使用 Jetpack Compose 开发 Android 应用程序。

由于它是一个全球服务的应用程序,因此支持多种语言(英语和中文)。由于字符的差异,设计师希望为每种语言使用不同的字体。

因此,我们为英文和中文应用单独的字体文件。

  • res/font/bold.otf
  • res/font/regular.otf
  • res/font-zh/bold.ttf
  • res/font-zh/regular.ttf
internal val fontFamily = FontFamily(
    Font(resId = R.font.bold, weight = FontWeight.Bold, style = FontStyle.Normal),
    Font(resId = R.font.regular, weight = FontWeight.Normal, style = FontStyle.Normal),
)

val subhead = TextStyle(
    fontFamily = fontFamily,
    fontSize = 16.sp,
    lineHeight = 24.sp
)

我像上面的代码一样定义并在我的文本中使用它:

Text(
    text = title,
    modifier = Modifier.background(Blue200),
    style = SpoonTheme.typo.subhead
)

但是结果很奇怪。 以下为英文版:

以下是中文版:

字体大小和行高相同,只是字体文件根据语言设置而有所不同。

我假设应用行高会相应地调整大小,但是行高是否会被忽略以遵循字体文件?

有没有办法忽略字体文件的填充并强制其遵循行高?

android fonts android-jetpack-compose
1个回答
0
投票

您可以尝试使用

从文本中删除填充
Text(
...
   style = TextStyle(
      platformStyle = PlatformTextStyle(
     includeFontPadding = false
   ),
)
© www.soinside.com 2019 - 2024. All rights reserved.