How to use Roboto in xml layout

后端 未结 2 1069
情书的邮戳
情书的邮戳 2021-01-30 04:28

I hear it often nowadays: “Roboto is the default font type”. But how do I use this default font type? What I mean specifically is that in the old days when I used to download th

相关标签:
2条回答
  • 2021-01-30 04:51

    I've already found some possibilities

    Using fontfamily

    The simplest way would be add fontFamily attribute to your specific view like TextView

    According to How to change fontFamily of TextView in Android

    From android 4.1 / 4.2 / 5.0, 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)
    

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

    in combination with

    android:textStyle="normal|bold|italic"
    

    this 14 variants are possible:

    • Roboto regular
    • Roboto italic
    • Roboto bold
    • Roboto bold italic
    • Roboto-Light
    • Roboto-Light italic
    • Roboto-Thin
    • Roboto-Thin italic
    • Roboto-Condensed
    • Roboto-Condensed italic
    • Roboto-Condensed bold
    • Roboto-Condensed bold italic
    • Roboto-Medium
    • Roboto-Medium italic

    You can also do this programmatically using code as below:

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

    Using typeface

    Available built-ibn fonts are:

    • normal
    • sans
    • serif
    • monospace

    You can cobine them like below:

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

    See android:typeface.

    Using styles.xml

    You set style in styles.xml` like that:

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

    and to use this style in main.xml layout file just use:

    style="@style/boldText"
    

    Combining Text atrributes

    You can mix TextView attributes like in code below:

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

    Using third-party libraries

    Foundry - apply custom typefaces through XML layouts and styles.

    android-typeface-helper - Typeface helper for Android

    Additional lecture

    You may also want to read about Roboto typeface and Typography Google's Design Guide.

    Similar StackOverflow Issues:
    • Using Roboto thin or condensed
    • How do I specify eg. Roboto-Medium or Roboto-Black in styles.xml
    • Use Roboto font in app with minimum API level 14

      Hope it help

    0 讨论(0)
  • 2021-01-30 05:08

    In addition to piotrek's answer, here is a quick cheatsheet if you haven't decided which Roboto font to use:

    0 讨论(0)
提交回复
热议问题