如何在xml布局中使用Roboto

Nou*_*vay 29 android android-layout roboto

我现在经常听到:"Roboto是默认的字体类型".但是如何使用此默认字体类型?我的具体含义是,在我以前下载资产等的过去,我曾经必须指定类似的东西

<item name="typeface">roboto_bold</item>
Run Code Online (Sandbox Code Playgroud)

想象一下,我有兴趣使用所有的说法(反过来)

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
Run Code Online (Sandbox Code Playgroud)

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

pio*_*543 78

我已经找到了一些可能性

运用 fontfamily

最简单的方法是添加fontFamily属性,特定viewTextView

根据如何在Android中更改TextView的fontFamily

从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)
Run Code Online (Sandbox Code Playgroud)

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

与...结合

android:textStyle="normal|bold|italic"
Run Code Online (Sandbox Code Playgroud)

这14种变体是可能的:

  • Roboto经常
  • Roboto斜体
  • Roboto大胆
  • Roboto粗体斜体
  • 的Roboto光强
  • Roboto-Light斜体
  • 的Roboto薄
  • Roboto-Thin italic
  • 的Roboto冷凝
  • Roboto-Condensed斜体
  • Roboto-Condensed大胆
  • Roboto-Condensed粗体斜体
  • 的Roboto介质
  • Roboto-Medium斜体

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

textView.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL));
Run Code Online (Sandbox Code Playgroud)

运用 typeface

可用的内置ibn字体是:

  • 正常
  • SANS
  • 衬线
  • 等宽

您可以像下面一样将它们联合起来:

   android:typeface="sans" | "serif" | "monospace"
Run Code Online (Sandbox Code Playgroud)

android:typeface.

运用 styles.xml

你可以在styles.xml中设置样式:

<style name="boldText">
    <item name="android:textStyle">bold|italic</item>
    <item name="android:textColor">#FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)

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

style="@style/boldText"
Run Code Online (Sandbox Code Playgroud)

结合文本atrributes

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

 android:fontFamily="serif" 
 android:textStyle="italic"
Run Code Online (Sandbox Code Playgroud)

使用第三方库

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

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

补充讲座

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

类似的StackOverflow问题:


Sim*_*mon 7

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

在此处输入图片说明