【问题标题】:Roboto font for Android 4+?适用于 Android 4+ 的 Roboto 字体?
【发布时间】:2013-10-07 10:47:30
【问题描述】:

如果我的应用仅支持 Android 4+ 设备,我是否需要使用 Roboto 字体并将其放入资产文件夹?

非常感谢您的帮助。亚历克斯。附言对不起我的英语:)

【问题讨论】:

  • 你想知道怎么做还是你的意思是什么?
  • @silvia_aut,我想知道:我每次都需要使用 mTextView.setTypeface() 吗?还是没必要,因为Android 4+只使用一种父字体,所以只能使用xml android:typeface="normal"?
  • 致@silvia_aut。当然,我想知道:所有 Android 4+ 设备都使用 Roboto 字体吗?例如。三星 Galaxy S4 和谷歌 Nexus 4?

标签: android fonts android-4.0-ice-cream-sandwich assets


【解决方案1】:

要添加到 Ahmad 的出色答案,您可以从此处的 Material Design 指南中的列表中将“light”或“condensed”换成您想要的任何样式:

http://www.google.com/design/spec/style/typography.html#typography-roboto-noto

例如:

android:fontFamily="sans-serif-medium"     // roboto medium

等等。 此评论仅添加了 Ahmad 的评论,但只是澄清了您不仅限于他给出的 3 个示例,您可以使用任何示例。

【讨论】:

    【解决方案2】:

    回答

    好的。我想,我明白了。

    三星手机是迄今为止最受欢迎的 Android 手机。虽然它是 确实,所有 4.1 及更高版本的三星手机都有 Roboto,它们也 有一个叫做 Samsung Sans 的东西,如果您的用户已将其设置为 他们的默认字体然后是 android:font-family (正如@Ahmad 所说) 要求所有返回三星 Sans,而不是 Roboto。如果你已经固定紧 没有无法伸展的蠕动空间的布局,Samsung Sans 将 打破他们。没有简单的方法来解决这个问题。如果你绝对必须 有Roboto,你必须把它打包成一个asset,设置为 明确的字体。

    感谢@Ahmad 以及@Kenton Price 在此处的评论:https://stackoverflow.com/a/14633032/2553905

    【讨论】:

      【解决方案3】:

      您可以像这样从 Android 4.1+ 原生使用 Roboto:

      android:fontFamily="sans-serif"           // roboto regular
      android:fontFamily="sans-serif-light"     // roboto light
      android:fontFamily="sans-serif-condensed" // roboto condensed
      

      对于低于此的任何版本,您必须自己加载字体。看看this 回答我给了一段时间的更多信息。

      【讨论】:

        【解决方案4】:

        来自文档:

        Ice Cream Sandwich 引入了一个名为 Roboto 的新型家族,创建 专门针对 UI 和高分辨率屏幕的要求。

        阅读有关Typography 的更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-14
          • 1970-01-01
          • 2016-12-01
          • 1970-01-01
          • 2017-01-17
          相关资源
          最近更新 更多