如何在xml布局中使用Roboto

时间:2015-12-23 22:20:44

标签: android android-layout roboto

我现在经常听到:“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文件中指定它们?

2 个答案:

答案 0 :(得分:74)

我已经找到了一些可能性

使用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 italic
  •   
  • Roboto bold
  •   
  • Roboto粗体斜体
  •   
  • Roboto-Light
  •   
  • Roboto-Light italic
  •   
  • Roboto-Thin
  •   
  • Roboto-Thin italic
  •   
  • Roboto-Condensed
  •   
  • Roboto-Condensed italic
  •   
  • Roboto-Condensed bold
  •   
  • Roboto-Condensed bold italic
  •   
  • 的Roboto培养基
  •   
  • Roboto-Medium italic
  •   

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

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

使用typeface

可用的built-ibn字体是:

  • 正常
  • SANS
  • 等宽

你可以像下面这样联合起来:

   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的字体助手

补充讲座

您可能还想了解Roboto字体和Typography Google的设计指南。

类似的StackOverflow问题:

答案 1 :(得分:3)

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

enter image description here