gpt4 book ai didi

android - 在 Android 上,我如何在设备上选择字体类型并知道它是否是默认字体?

转载 作者:行者123 更新时间:2023-12-03 21:30:11 26 4
gpt4 key购买 nike

下面附上我设备上字体的屏幕截图。
fonts on my device

这是要求:

  • 如果用户选择默认字体,应用程序应使用 Roboto
  • 如果选择了任何其他字体,请在应用程序上使用所选字体。

  • 例子:
  • 如果选择字体 = 迷迭香,应用程序。字体 = 迷迭香
  • 如果选择字体 = 默认,应用程序。字体 = Roboto

  • (系统上的默认字体可能是也可能不是 Roboto)

    如何以编程方式获取系统上选择的字体,并知道它是否是默认字体?

    我知道如果我使用 Typeface.DEFAULT,它会给我选择的字体。但我也想知道它是否是默认字体(如所附屏幕截图所示)。

    最佳答案

    你可能想看看这个 Typeface .此类提供工具,以便您可以知道针对哪种类型选择了哪种字体/字体。

    例如看defaultFromStyle

    Typeface.defaultFromStyle(int style)

    其中 Style 的值是一个整数,并且值从
    int: Value is NORMAL, BOLD, ITALIC, or BOLD_ITALIC

    编辑 1

    在做了一些研究后,我发现 Typeface 没有提供字体名称。然后我发现了这个 SO这提供了非常有用的信息,并导致另一个 SO其中有一个自定义 字体列表提供者 并声明第一个字体将是默认字体。如果您使用该自定义类,那么很容易找到默认字体。
    final List<FontListParser.SystemFont> fonts = FontListParser.safelyGetSystemFonts();
    String[] items = new String[fonts.size()];
    for (int i = 0; i < fonts.size(); i++) {
    Log.e("Font",fonts.get(i).name);
    }

    关于android - 在 Android 上,我如何在设备上选择字体类型并知道它是否是默认字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920278/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com