本文介绍了android:fontFamily 的有效值以及它们映射到什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In the answer to this question the user lists values for android:fontFamily and 12 variants (see below). Where do these values come from? The documentation for android:fontFamily does not list this information in any place (I checked here, and here). The strings are listed in the Android styles.xml file in various places, but how do these map back to the Roboto font?

从 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"

可能有 12 种变体:

12 variants are possible:

  • 常规
  • 斜体
  • 粗体
  • 粗斜体
  • 浅斜体
  • 细斜体
  • 简明常规
  • 浓缩斜体
  • 浓缩粗体
  • 浓缩粗斜体

在我正在处理的应用程序的 styles.xml 文件中,有人将此列为字体系列,我很确定这是错误的:

In the styles.xml file in the application I'm working on somebody listed this as the font family, and I'm pretty sure it's wrong:

我想为我们的应用程序正确设置主题(包括正确使用 fontFamily)并删除在我查看文件之前创建的某些样式中的所有冗余.

I'd like to get the theme for our app set up correctly (which includes using fontFamily correctly) and remove all the redundancy that is in some of the styles that were created before I had a look at the file.

推荐答案

这些确实没有在文档中列出.但是它们在此处在字体系列"部分下被提及.该文档列出了 Android Jelly Bean 4.1 的每个新公共 API.

These are indeed not listed in the documentation. But they are mentioned here under the section 'Font families'. The document lists every new public API for Android Jelly Bean 4.1.

在我正在处理的应用程序的 style.xml 文件中,有人将其列为字体系列,我很确定这是错误的:

是的,这是错误的.您不引用字体文件,您必须使用上面链接文档中提到的字体名称.在这种情况下,它应该是这样的:

Yes, that's wrong. You don't reference the font file, you have to use the font name mentioned in the linked document above. In this case it should have been this:

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

就像已经说明的链接答案一样,可能有 12 种变体:

Like the linked answer already stated, 12 variants are possible:

常规(默认):

<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>

在 Android Lollipop (v5.0) - API 21 中添加:

中等:

<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>

为了快速参考,这就是它们的样子:

For quick reference, this is how they all look like:

这篇关于android:fontFamily 的有效值以及它们映射到什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 00:55