如何在4.0.3中更改fontfamily?

时间:2013-09-06 06:27:48

标签: java android xml

从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之类的东西。有人知道怎么做吗?

3 个答案:

答案 0 :(得分:2)

如前所述,V4.2 sans-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

答案 1 :(得分:1)

来自this 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)格式。即使这样,某些字体也可能不起作用。

修改

enter image description here

here您可以下载.ttf个文件。

答案 2 :(得分:0)

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

Typeface mDesiredFace= Typeface.createFromAsset(getAssets(),"sans-serif.ttf");
textView.setTypeface(mDesiredFace);