Android APP的字体设置

Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,好比加粗,倾斜,下划线,字号等,可是对于字体自己,好比设置为楷体,隶书等貌似没有。Android系统只有一种默认的,若是须要修改字体,或者引用本身喜欢的字体,那么就须要本身设置或修改。windows

修改系统的字体能够下载修改字体的app便可,可是若是是对于开发者想在本身的app中使用具备本身个性的文字,能够按下面介绍的方法作(这里只是其中一种方法,相信,应该还有不少方法的)app

 

·将自定义的字体所在的ttf文件copy到工程assets/fonts/目录下面字体

通常字体的格式为ttf的。在C:\WINDOWS\Fonts目录下有windows系统提供的字体,可使用。也能够本身经过coreldraw+fontcreator软件本身制做字体对象

·在源码中进行以下修改:图片

TextView tv = (TextView)findViewById(R.id.c12_custom);资源

  //从assert中获取有资源,得到app的assert,采用getAserts(),经过给出在assert/下面的相对路径。在实际使用中,字体库可能存在于SD卡上,能够采用createFromFile()来替代createFromAsset。开发

Typeface face = Typeface.createFromAsset (  getAssets() , “fonts/timesi.ttf” );字符串

  tv.setTypeface (face);get

设置字体不能直接在XML文件中进行,须要经过源码来完成。源码

经过这两步就能够对TextView对象tv的字体进行了修改,改为本身定义的字体timesi.ttf

 

Android并不是和全部的TTF字体都能兼容,尤为在中文特殊字体的支持会存在问题,对于不兼容的字体,Android不出报错,只是没法正常显示。

  

一些注意

  字库通常会很大,由于要将包括不少的字符集,使用其余的字库,这样就会增大程序的体积。可使用FontCreator软件对字库进行裁剪,使其体积变小。若是字库比较大,能够考虑放在sdcard上,使用createFromFile来得到Typeface对象

有些字库可能并不会包括咱们须要的字符,好比为了节省字库的体积,将中文字符取消,这样若是想使用这个字库显示中文的话,确定是不成功的。

 

这里再对程序中出现的源码进行解释。

修改字体就是调用setTypeface方法。这个方法的参数是一个Typeface类对象

 

Typeface是字体类

这个类比较简单,这里列出它的成员方法(这些方法都是静态方法,返回Typeface对象,能够直接做为setTypeface的参数):

·static Typeface  create(Typeface family, int style)  //静态方法,参数一为字体类型这里是Typeface的静态定义,如宋体,参数二风格,如粗体,斜体

·static Typeface  create(String familyName, int style)  //静态方法,参数一为字体名的字符串,参数二为风格同上,这里咱们推荐使用上面的方法。

·static Typeface  createFromAsset(AssetManager mgr, String path)  //静态方法,参数一为AssetManager对象,主要用于从APK的assets文件夹中取出字体,参数二为相对于Android工程下的assets文件夹中的外挂字体文件的路径。

·static Typeface  createFromFile(File path)  //静态方法,从文件系统构造一个字体,这里参数能够是sdcard中的某个字体文件

·static Typeface  createFromFile(String path)  //静态方法,从指定路径中构造字体

·static Typeface  defaultFromStyle(int style) //静态方法,返回默认的字体风格

 

 

本类的常量静态定义,首先为字体类型名称

Typeface DEFAULT  

Typeface DEFAULT_BOLD

Typeface MONOSPACE

Typeface SANS_SERIF

Typeface SERIF

字体风格名称

int BOLD  

int BOLD_ITALIC  

int ITALIC

int NORMAL

这些变量均可以经过名称知道其意思

 

 

这里附上一张本身写的应用中用到上面方法的例子的图片(能够用截屏的,此次就不用了)

相关文章
相关标签/搜索