如果我的应用仅支持 Android 4+ 设备,我是否需要使用 Roboto 字体并将其放入资产文件夹?
非常感谢您的帮助。亚历克斯。PS对不起我的英语:)
如果我的应用仅支持 Android 4+ 设备,我是否需要使用 Roboto 字体并将其放入资产文件夹?
非常感谢您的帮助。亚历克斯。PS对不起我的英语:)
您可以像这样从 Android 4.1+ 本地使用 Roboto:
android:fontFamily="sans-serif" // roboto regular
android:fontFamily="sans-serif-light" // roboto light
android:fontFamily="sans-serif-condensed" // roboto condensed
对于低于此的任何版本,您必须自己加载字体。看看这个我给了一段时间的答案以获得更多信息。
行。我想,我明白了。
三星手机是迄今为止最受欢迎的安卓手机。虽然所有 4.1 及更高版本的三星手机确实都有 Roboto,但它们也有一种叫做 Samsung Sans 的东西,如果您的用户已将其设置为默认字体,那么 android:font-family (如@Ahmad 所说)请求全部返回三星Sans,不是 Roboto。如果你有固定的紧凑布局,没有无法伸展的蠕动空间,三星 Sans 会打破它们。没有简单的方法来解决这个问题。如果您绝对必须拥有 Roboto,则必须将其打包为资产并明确将其设置为字体。
感谢@Ahmad 以及@Kenton Price 在此处的评论:https ://stackoverflow.com/a/14633032/2553905
要添加到 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 个示例,您可以使用任何示例。