20

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

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

4

4 回答 4

63

您可以像这样从 Android 4.1+ 本地使用 Roboto:

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

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

于 2013-10-01T11:32:46.247 回答
13

回答

行。我想,我明白了。

三星手机是迄今为止最受欢迎的安卓手机。虽然所有 4.1 及更高版本的三星手机确实都有 Roboto,但它们也有一种叫做 Samsung Sans 的东西,如果您的用户已将其设置为默认字体,那么 android:font-family (如@Ahmad 所说)请求全部返回三星Sans,不是 Roboto。如果你有固定的紧凑布局,没有无法伸展的蠕动空间,三星 Sans 会打破它们。没有简单的方法来解决这个问题。如果您绝对必须拥有 Roboto,则必须将其打包为资产并明确将其设置为字体。

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

于 2013-10-01T13:17:50.957 回答
4

要添加到 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 个示例,您可以使用任何示例。

于 2015-04-02T21:05:50.910 回答
2

从文档:

Ice Cream Sandwich 推出了一个名为 Roboto 的新型系列,专为满足 UI 和高分辨率屏幕的要求而创建。

阅读更多关于排版的信息。

于 2013-10-01T10:13:22.670 回答