【问题标题】:How to use Roboto in xml layout如何在 xml 布局中使用 Roboto
【发布时间】:2016-03-30 09:59:09
【问题描述】:

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

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

想象一下我有兴趣使用 all of say(依次)

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

【问题讨论】:

    标签: android android-layout roboto


    【解决方案1】:

    我已经找到了一些可能性

    使用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 粗斜体
    • 机器人灯
    • Roboto-Light 斜体
    • Roboto-Thin
    • Roboto-Thin 斜体
    • Roboto-Condensed
    • 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 字体助手

    补充讲座

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

    类似的 StackOverflow 问题:

    【讨论】:

    • 即使我使用这个,在三星上字体看起来也不同。我注意到与美元符号的区别。有什么想法吗?
    【解决方案2】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-30
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多