以前,为了让我的应用程序可以在 Gingerbread 设备及更高版本上运行,我必须将 Robotto 字体资源复制到 Assets 文件夹中。这是因为 Gingerbread 本身没有附带 Robotto 字体。
但是,假设我决定仅将我的应用程序部署到 Jelly Bean 设备。
- 我还需要手动将字体资源复制到我的 Assets 文件夹中吗?我可以使用系统本身的字体资源吗?这是可以鼓励的吗?我在想,如果不提供我自己的字体文件,我可以让我的应用程序更小。
这是从 Assets 文件夹中获取
TypeFace
的代码。Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Regular.ttf");
如果我想直接从系统本身获取
TypeFace
,怎么办?
最佳答案
好消息是,如果您支持 4.1,那就太简单了。查看this link并向下滚动到字体以了解全部详细信息,但基本上,您将有三个字体系列(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);
关于android - 每次我们想在应用程序中更改字体时,我们是否必须复制 Font TTF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14227023/