1

从 android 4.1 / 4.2 开始,以下 Roboto 字体系列可用:

 android:fontFamily="sans-serif"           // roboto regular
 android:fontFamily="sans-serif-light"     // roboto light
 android:fontFamily="sans-serif-condensed" // roboto condensed
 android:fontFamily="sans-serif-thin"      // roboto thin (android 4.2)

但是对于 4.0.3 版,我需要类似的东西。有人知道该怎么做吗?

4

3 回答 3

2

正如您之前所说,V4.2sans-serif-thin不适用于低于该版本的设备。

但是您可以通过将一个.ttf.otf文件放入您的/assets文件夹并使用以下代码将字体文件与您的 apk 一起放置:

TextView txt = (TextView) findViewById(R.id.custom_font);  
Typeface font = Typeface.createFromAsset(getAssets(), "Chantelli_Antiqua.ttf");  
txt.setTypeface(font);

这是完整的例子:http: //mobile.tutsplus.com/tutorials/android/customize-android-fonts/

你也可以在sans-serif-thin这里获取字体:http ://www.fontsquirrel.com/fonts/roboto

于 2013-09-06T06:42:24.783 回答
1

这个 SO question

Android 不允许您从 XML 布局设置自定义字体。相反,您必须将特定字体文件捆绑在应用程序的资产文件夹中,并以编程方式进行设置。就像是:

TextView textView = (TextView) findViewById(<your TextView ID>);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "<file name>");
tv.setTypeface(typeFace);

请注意,您只能在调用 setContentView() 后运行此代码。此外,Android 仅支持某些字体,并且应采用 .ttf (TrueType) 或 .otf (OpenType) 格式。即使这样,某些字体也可能无法使用。

编辑

在此处输入图像描述

在这里您可以下载.ttf文件。

于 2013-09-06T06:41:02.443 回答
0

在资产文件夹中安装/保留字体并以编程方式将其分配给文本视图。

Typeface mDesiredFace= Typeface.createFromAsset(getAssets(),"sans-serif.ttf");
textView.setTypeface(mDesiredFace);
于 2013-09-06T06:44:26.760 回答