Android中的默认字体系列是什么?

从API 16开始,Jellybean Roboto作为可用字体家族推出使用。 在这里查看Android 16中的新功能。

指定android:fontFamily="sans-serif" (中的Roboto API 16+)上TextView默认fontFamily的的TextView

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

相当于

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="sans-serif" />

从材料设计排版网站:

“Roboto和Noto是Android和Chrome上的标准字体。”

来自Wiki,

“Roboto是由Google开发的无衬线字体系列,作为其移动操作系统Android的系统字体。”

我没有在文档中看到Android的默认fontFamily是什么。 参见参考文献

  • https://developer.android.com/reference/android/R.attr.html#fontFamily
  • android:fontFamily的有效值及其映射到的内容?
  • https://developer.android.com/about/versions/android-4.1.html#Fonts
  • http://alvinalexander.com/photos/android-roboto-fonts-examples

  • 在d.android.com上没有关于字体名称的文档。 但是,如果您查看AOSP,默认字体将在android.graphics.*中加载。 FontListParser从/system/etc/fonts.xml 5.0+)或/system/etc/system_fonts.xml 4.1)加载默认字体。 默认字体在Typeface#init中加载。

    这两个XML文件有一些文档。 第一种字体是默认字体。 您可以从设备中获取/system/etc/fonts.xml。 设备制造商或自定义ROM可能会更改默认的系统字体。

    fonts.xml (API 21+)

    注:这是系统字体配置的较新(L)版本,支持更丰富的重量选择。 有些应用程序会期望较旧的版本,因此请尽量让system_fonts.xml和fallback_fonts.xml与任何更改保持同步,即使框架只会读取此文件。

    所有带有姓氏的字体都被添加到默认列表中。 根据匹配选择字体:完整的BCP-47语言标签,包括脚本,然后是语言,最后是订购(包含字形的第一个字体)。

    外观顺序也是重量匹配的决胜因素。 这就是为什么900磅重的Roboto先于700磅的重量 - 我们更喜欢800磅重的前者。 由于大胆跨度有效地增加了300的重量,这确保了900与500重量的大胆配对,确保足够的对比度。

    system_fonts.xml (API 16-20)

    系统字体

    该文件列出了所有支持的字形默认使用的字体系列。 每个条目由一个家族,该家族支持的各种名称以及最多四个字体文件组成。 字体文件按其支持的样式顺序列出:常规,粗体,斜体和粗斜体。 如果列出少于四种样式,则列出的其他字体文件将支持没有关联字体文件的样式。

    第一个家族也是默认字体,它处理没有指定特定字体名称的字体请求。

    任何不是由系统字体处理的字形都将导致搜索回退字体。 默认的回退字体在文件/system/etc/fallback_fonts.xml中指定,并且有一个可选文件,供应商可以提供该文件以指定要在/vendor/etc/fallback_fonts.xml中使用的其他回退字体。

    如果解析fonts.xml文件,您可以找到哪个字体族使用哪种字体(请参见此处):

    ╔════╦════════════════════════════╦═════════════════════════════╗
    ║    ║ FONT FAMILY                ║ TTF FILE                    ║
    ╠════╬════════════════════════════╬═════════════════════════════╣
    ║  1 ║ casual                     ║ ComingSoon.ttf              ║
    ║  2 ║ cursive                    ║ DancingScript-Regular.ttf   ║
    ║  3 ║ monospace                  ║ DroidSansMono.ttf           ║
    ║  4 ║ sans-serif                 ║ Roboto-Regular.ttf          ║
    ║  5 ║ sans-serif-black           ║ Roboto-Black.ttf            ║
    ║  6 ║ sans-serif-condensed       ║ RobotoCondensed-Regular.ttf ║
    ║  7 ║ sans-serif-condensed-light ║ RobotoCondensed-Light.ttf   ║
    ║  8 ║ sans-serif-light           ║ Roboto-Light.ttf            ║
    ║  9 ║ sans-serif-medium          ║ Roboto-Medium.ttf           ║
    ║ 10 ║ sans-serif-smallcaps       ║ CarroisGothicSC-Regular.ttf ║
    ║ 11 ║ sans-serif-thin            ║ Roboto-Thin.ttf             ║
    ║ 12 ║ serif                      ║ NotoSerif-Regular.ttf       ║
    ║ 13 ║ serif-monospace            ║ CutiveMono.ttf              ║
    ╚════╩════════════════════════════╩═════════════════════════════╝
    
    链接地址: http://www.djcxy.com/p/74929.html

    上一篇: What is the default font family in Android?

    下一篇: Where do I place the 'assets' folder in Android Studio?