Android fontFamily sans-serif-light

时间:2014-09-23 07:34:42

标签: android android-layout font-family

我需要一些关于android的sans-serif-light字体的澄清。以下代码行

<item name="android:fontFamily">sans-serif-light</item>
自定义样式中的

如果minSdkVersion小于16,则<style name="custom_style"/>会出现 错误

但直接在textview上使用相同的属性

android:fontFamily="sans-serif-light" 
如果minSdkVersion小于16,则

提供 警告

Q1两种方法有什么区别?

Q2如果我直接在textview(第二路)设置属性,应用程序是否与16以下的sdk版本兼容,使用默认字体?

(我只有一个装有android 4.4.4的设备,并且两种方式都很好用)

2 个答案:

答案 0 :(得分:1)

  

如果我直接在textview(第二路)中设置属性,那么   应用程序与默认情况下16以下的sdk版本兼容   字体?

即使您在样式中设置字体系列,行为也不应更改。差异可能是由于你的Lint设置。

答案 1 :(得分:0)

正如blackbelt所说,这必定是由于lint设置的不同。

San-serif light字体将 NOT 在API 16以下的设备中工作。要解决此问题,您需要在资产中上传自定义字体(.ttf文件)文件。


以下是如何操作 -

首先将san-serif light字体.ttf文件复制到您可以从here下载的资源文件夹中。该文件将包含许多字体,但您只需要san-serif光文件。

然后在你的代码中,执行此操作 -

Typeface light = Typeface.createFromAsset(getContext().getAssets(), "san-serif-light.ttf");
//Make sure that the font file's name is actually san-serif-light

然后你可以用这种方式将它设置为textview -

textview.setTypeface(light);
相关问题