Google 字体不适用于 android 8 的 compose

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

我正在使用jetpack compose和material 3:v1.2.1开发一个应用程序,我需要一个特定的文本来具有僵局字体。所以我下载了字体并将其添加到字体资源中并将其添加为

FontFamily
,如下所示:

val staleMate = FontFamily(
    Font(R.font.stalemate)
)

并像这样使用

FontFamily

Text(text = "The Light",
        style = TextStyle(
            brush = Brush.linearGradient(
                colors = listOf(MaterialTheme.colorScheme.primary, MaterialTheme.colorScheme.tertiary),
            ),
            fontSize = MaterialTheme.typography.displayMedium.fontSize,
            fontFamily = staleMate
        ),
        modifier = modifier
    )

现在,当我在三星 A24 中打开应用程序时,字体显示正确,完全没有问题(这款手机有 android 14)。 但是当我在装有 Android 8 的华为 psmart 中打开应用程序时,字体未加载,应用程序使用默认字体。 所以我尝试了可下载字体,因为文档建议使用

GoogleFonts
可下载字体。但这也不起作用。所以现在我不知道该怎么办。是否有任何原因导致该字体无法在我的 Android 8 设备上运行?我该如何解决此问题?

编辑 我决定在另外两台具有不同操作系统版本的设备上测试该字体,一台是带有 Android 10 的模拟器,另一台是带有 Android 5 的 Galaxy Tab 4。应用程序的两个实例都运行良好,并且字体显示完美。那么现在的问题是:为什么它在我的华为手机上不起作用?

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

问题出在我的华为本身的字体管理系统上。华为手机有一个主题应用程序,您可以在其中设置整个应用程序的字体和文本样式。当您更改文本样式和字体时,无论如何,它都会强制更改所有应用程序中的所有字体。因此,当我将字体设置为系统默认值时,应用程序可以正常工作并且字体也已加载。

© www.soinside.com 2019 - 2024. All rights reserved.