Android APP的字体设置

原创 2016年05月30日 19:48:53

Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,比如加粗,倾斜,下划线,字号等,但是对于字体本身,比如设置为楷体,隶书等貌似没有。Android系统只有一种默认的,如果需要修改字体,或者引用自己喜欢的字体,那么就需要自己设置或修改。
修改系统的字体可以下载修改字体的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);

设置字体不能直接在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
这些变量都可以通过名称知道其意思

版权声明:本文为博主原创文章,转载请注明出处。 举报

相关文章推荐

安卓开发--textView的字体样式设置(设置宋体,微软雅黑等)

这是我的第一篇博客,如果有啥不好的地方请多直接! 最近项目中出现把字体设置成宋体,微软雅黑,黑体,楷体等的需求; 度娘发现Android系统默认支持三种字体,分别为:“sans”, “serif”...

Android应用中的文字字体统一设置

在开发android应用时,我们经常会碰到一种需求就是将app中的所有文字都使用一种特定字体,而非Android系统默认字体Roboto。     大家试想,如果要修改字体最容易的方式便是使用setT...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

太激动!Android修改全局字体样式,替换整个APP字体

最近一直在如何全局修改app字体上困惑着,今天终于有了突破。我将搜集的资料进行了整理,现在提供给大家。参考链接: Android应用使用自定义字体 Android应用使用自定义字体的一些探究 A...

Android APP的字体设置

Android APP的字体设置 Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,比如加粗,倾斜,下划线,字号等,但是对于字体本身,比如设置为楷体,隶书等貌似没有。Andro...

Android APP的字体设置

Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,比如加粗,倾斜,下划线,字号等,但是对于字体本身,比如设置为楷体,隶书等貌似没有。Android系统只有一种默认的,如果需要修改...

Android修改程序字体

Android提供三种字体:“Sans”,“serif”和“monospace”。 1、在Android XML文件中设置字体 可以采用android:typeface,例如android:typ...

Android字体设置

// 自定义字体 custom = new TextView(this); //xx.ttf located at assets/fonts/ typeface = Typeface.creat...

Android字体设置

http://www.cnblogs.com/bluestorm/p/3654626.html

Android字体设置

1.自定义字体可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体。所以,我们可以在程序中放入TTF字体文件...

iOS中利用 runtime 一键改变字体

深圳app开发就找深圳夸克时代在线技术有限公司
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)