如何在xml布局中使用Roboto

我现在经常听到:“Roboto是默认的字体types”。 但是,我如何使用这种默认的字体types呢? 我特指的是在过去我曾经下载资产等的时候,我曾经不得不指定类似的东西

<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文件中指定它们?

    我已经find了一些可能性

    使用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) 

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

    与…结合

     android:textStyle="normal|bold|italic" 

    这14个变种是可能的:

    • Roboto经常
    • Roboto斜体
    • Roboto大胆
    • Roboto粗体斜体
    • 的Roboto光强
    • Roboto-Light斜体
    • 的Roboto薄
    • Roboto薄斜体
    • 的Roboto冷凝
    • Roboto-Condensed斜体
    • Roboto-Condensed bold
    • Roboto-Condensed粗斜体
    • 的Roboto介质
    • Roboto中等斜体

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

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

    使用typeface

    可用的内置ibn字体是:

    • 正常
    • SANS
    • 衬线
    • 等宽

    你可以像下面那样把它们合并起来:

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

    请参阅android:字体 。

    使用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" 

    合并文本atrributes

    您可以混合TextView属性,如下面的代码:

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

    使用第三方库

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

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

    额外的讲座

    您也可以阅读关于Roboto字体和排版 Google的devise指南。

    类似的StackOverflow问题:

    • 使用Roboto薄或浓缩
    • 我如何指定例如。 styles.xml中的Roboto-Medium或Roboto-Black
    • 在最低API级别14的应用中使用Roboto字体

      希望它有帮助

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

    在这里输入图像说明