40

我现在经常听到:“Roboto 是默认字体类型”。但是如何使用这种默认字体类型呢?我的具体意思是,在过去,当我下载资产等时,我曾经必须指定诸如

<item name="typeface">roboto_bold</item>

想象一下我有兴趣使用所有的说(依次)

roboto_thin
 roboto_thin_italic
 roboto_light
 roboto_light_italic
 roboto_regular
 roboto_italic
 roboto_medium
 roboto_medium_italic
 roboto_bold
 roboto_bold_italic
 roboto_black
 roboto_black_italic
 roboto_condensed_light
 roboto_condensed_light_italic
 roboto_condensed_regular
 roboto_condensed_italic
 roboto_condensed_bold
 roboto_condensed_bold_italic
 roboto_slab_thin
 roboto_slab_light
 roboto_slab_regular
 roboto_slab_bold

如何在我的 xml 布局文件或style.xml文件中指定它们?

4

2 回答 2

105

我已经找到了一些可能性

使用fontfamily

最简单的方法是将fontFamily属性添加到您的特定view喜欢TextView

根据How to change fontFamily of TextView in Android

从 android 4.1 / 4.2 / 5.0 开始,以下 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)

http://developer.android.com/reference/android/widget/TextView.html#attr_android:typeface

结合

android:textStyle="normal|bold|italic"

这 14 种变体是可能的:

  • 常规机器人
  • 机器人斜体
  • 机器人粗体
  • Roboto 粗斜体
  • 机器人灯
  • Roboto-Light 斜体
  • 机器人薄
  • Roboto-Thin 斜体
  • 机器人浓缩
  • Roboto-Condensed 斜体
  • Roboto-Condensed 粗体
  • Roboto-Condensed 粗斜体
  • 中型机器人
  • Roboto 中斜体

您也可以使用以下代码以编程方式执行此操作:

textView.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL));

使用typeface

可用的内置ibn字体有:

  • 普通的
  • 衬线
  • 等宽

你可以像下面这样组合它们:

   android:typeface="sans" | "serif" | "monospace"

参见android:typeface

使用styles.xml

你在styles.xml`中设置样式是这样的:

<style name="boldText">
    <item name="android:textStyle">bold|italic</item>
    <item name="android:textColor">#FFFFFF</item>
</style>

并在main.xml布局文件中使用此样式只需使用:

style="@style/boldText"

组合文本属性

您可以在下面的代码中混合TextView属性:

 android:fontFamily="serif" 
 android:textStyle="italic"

使用第三方库

Foundry- 通过 XML 布局和样式应用自定义字体。

android-typeface-helper- 适用于 Android 的字体助手

附加讲座

您可能还想阅读Google 的Roboto字体和排版设计指南。

类似的 StackOverflow 问题:
于 2015-12-23T23:29:46.253 回答
7

除了piotrek 的回答,如果您还没有决定使用哪种 Roboto 字体,这里有一个快速备忘单:

在此处输入图像描述

于 2017-11-20T22:17:23.247 回答