从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之类的东西。有人知道怎么做吗?
答案 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)
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)格式。即使这样,某些字体也可能不起作用。
修改强>
here您可以下载.ttf
个文件。
答案 2 :(得分:0)
在资产文件夹中安装/保留字体,并以编程方式将其分配给textview。
Typeface mDesiredFace= Typeface.createFromAsset(getAssets(),"sans-serif.ttf");
textView.setTypeface(mDesiredFace);