4

以前,为了使我的应用程序在 Gingerbread 设备及以上设备中可用,我必须将 Robotto 字体资源复制到资产文件夹中。这是因为 Gingerbread 本身并不附带 Robotto 字体。

在此处输入图像描述

但是,假设我决定仅将我的应用程序部署到 Jelly Bean 设备。

  1. 我还需要手动将字体资源复制到我的资产文件夹中吗?我可以使用系统本身的字体资源吗?是可以鼓励的吗?我在想,不提供我自己的字体文件,我可以让我的应用程序更小。
  2. TypeFace这是从资产文件夹获取的代码。

    Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Regular.ttf");

    如果我想TypeFace直接从系统本身获取,如何?

4

1 回答 1

12

好消息是,如果您支持 4.1,那就太简单了。查看此链接并向下滚动到字体以获取完整详细信息,但基本上,您将有三种字体系列(Roboto、Roboto Light、RobotoCondensed)可供选择,每种字体有四种样式(普通、粗体、斜体、粗斜体) )。

在 XML 中,您可以只使用标准文本属性:

android:fontFamily="sans-serif"
android:fontFamily="sans-serif-light"
android:fontFamily="sans-serif-condensed"

android:textStyle="bold"
android:textStyle="italic"
android:textStyle="bold|italic"

或者以编程方式,您可以像这样获取它们:

Typeface robotoLightItalic = Typeface.create("sans-serif-light", Typeface.ITALIC);
于 2013-01-09T02:54:04.867 回答