android - android :fontFamily and what they map to? 的有效值

标签 android fonts styles

this question 的回答中用户列出 android:fontFamily 的值和 12 种变体(见下文)。这些值(value)观从何而来? android:fontFamily 的文档没有在任何地方列出此信息(我检查了 herehere )。字符串在 Android styles.xml 中列出文件在各个地方,但是这些如何映射回 Roboto 字体?

From android 4.1 / 4.2, the following Roboto font families are available:

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)

in combination with this

android:textStyle="normal|bold|italic" 

12 variants are possible:

  • Regular
  • Italic
  • Bold
  • Bold-italic
  • Light
  • Light-italic
  • Thin
  • Thin-italic
  • Condensed regular
  • Condensed italic
  • Condensed bold
  • Condensed bold-italic

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

<item name="android:fontFamily">Roboto-Regular.ttf</item>

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

最佳答案

Where do these values come from? The documentation for android:fontFamily does not list this information in any place

这些确实没有在文档中列出。但是他们被提到了here在“字体系列”部分下。该文档列出了适用于 Android Jelly Bean 4.1 的每个新公共(public) API。

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:

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

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

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

在 Android Jelly Bean (4.1) - API 16 中添加:

常规(默认):

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

为了快速引用,它们都是这样的:

关于android - android :fontFamily and what they map to? 的有效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19691530/

相关文章:

java - 来自 Google I/O SlidingTabStrip.java 的 R.attr.colorForeground 错误

java - Java Mac OSX native 外观和感觉是否尊重 UIManager 字体更改?

c++ - Qt QFont 选择等宽字体不起作用

css - 为什么在 firebug 中有很多来自 * { } 的元素的继承部分?

wpf - TextBoxStyle {WPF} 上的工具提示样式

wpf - 为什么我不能在应用样式后更改文本框背景?

Android Studio 0.6.0 无法创建新模块

android - 如何从 Firebase 检索所有数据并将其放在 RecyclerView 上

在 Samsung Knox 上切换个人模式和工作模式时,Android 应用程序崩溃

c++ - OpenGL 文本渲染方法和权衡