当前位置: 首页 > 知识库问答 >
问题:

Android的有效值:FontFamily和它们映射到什么?

公孙俊弼
2023-03-14

在这个问题的答案中,用户列出了android:fontfamily和12个变体的值(见下文)。这些价值观从何而来?android:fontfamily的文档没有在任何地方列出这些信息(我在这里和这里检查过)。这些字符串在Android styles.xml文件的各个地方都列出了,但是这些字符串如何映射回Roboto字体呢?

在android 4.1/4.2中,有以下Roboto字体系列可用:

android:fontFamily="sans-serif"           // roboto regular  
android:fontFamily="sans-serif-light"     // roboto light  
android:fontFamily="sans-serif-condensed" // roboto condensed  
android:fontFamily="sans-serif-thin"      // roboto thin (android 4.2)  
android:fontFamily="sans-serif-medium"    // roboto medium (android 5.0)

与此相结合

android:textStyle="normal|bold|italic" 
  • 常规
  • 斜体
  • 粗体
  • 粗体斜体
  • 光线
  • 浅斜体
  • 斜体
  • 浓缩规则
  • 缩写斜体
  • 缩写粗体
  • 缩写粗体斜体

在我正在处理的应用程序styles.xml文件中,有人将其列为字体家族,我非常肯定这是错误的:

roboto-regular.ttf

共有1个答案

陆甫
2023-03-14

这些价值观从何而来?Android的文档:fontfamily没有在任何地方列出此信息

这些确实没有在文件中列出。但在“字体系列”一节中有提及。该文档列出了Android Jelly Bean4.1的每个新公共API。

在我正在处理的应用程序的styles.xml文件中,有人将其列为字体家族,我非常肯定这是错误的:

<item name="android:fontFamily">sans-serif</item>

与已说明的相关答案一样,有12种可能的变体:

常规(默认值):

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item> 

斜体:

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">italic</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">bold</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">bold|italic</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textStyle">normal</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textStyle">italic</item>
<item name="android:fontFamily">sans-serif-thin</item>
<item name="android:textStyle">normal</item>

薄斜体:

<item name="android:fontFamily">sans-serif-thin</item>
<item name="android:textStyle">italic</item>

浓缩规则:

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">normal</item>

缩写斜体:

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">italic</item>
<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">bold</item>
<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">bold|italic</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">normal</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">italic</item>
<item name="android:fontFamily">sans-serif-black</item>
<item name="android:textStyle">italic</item>

为了快速参考,下面是它们的样子:

 类似资料:
  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我所拥有的是, 我想要的是, 其中,

  • 我试着寻找,但还是有点迷路。我通常通过接口或广播接收器通过活动进行片段间通信。 无论如何,我的问题是getTargetFragment的用途是什么?有人能提供一个用例或一个简单的例子,让我理解它的用法吗?

  • 卡桑德拉表列: Java实体: 当执行从表列“pickuploc”中选择查询时,并没有完全映射到实体中定义的picupLocal属性。 这是我得到的回应: 使用Spring数据卡桑德拉1.5.8

  • 假设我有一组字符串和一个散列函数(或任何单边函数)和一个测试函数。我想用Java8流创建一个从输入字符串到通过测试函数的哈希值的映射。我的问题是如何在中编写? 看来老的for循环是最简洁的解决方案。

  • 问题内容: 在非官方指南中有一个占位符答案,带有指向(对我而言)似乎无关的文章的链接。 我使用XJC生成我的JAXB类,尽管它们大多数按预期相互映射,但有些元素被映射到。这对于带有循环的图最令人讨厌,其中有时Foo元素的父节点将是,而它本身没有父属性,从而中断了循环。 我可以想到各种解决方法,但是如果有人可以向我解释这种行为,那就更好了。为什么JAXB有时将元素映射到而不是Foo? 问题答案: 在

  • 问题内容: 这个问题一定是以前问过的,但是我找不到。 我正在使用第3方库来检索JSON格式的数据。图书馆将数据作为数据提供给我。我想将此映射到POJO(普通Java对象)以简化访问/代码。 对于映射,我目前以这种方式使用Jackson图书馆中的: 据我所知,上述代码可以得到显着优化,因为当前已经解析的中的数据将再次通过方法馈入序列化- 反序列化链,然后再馈入。 我想避免这两次转换(和解析)。有没有