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
这些变量都可以通过名称知道其意思

Android APP的字体设置相关推荐

  1. android app全局字体,Android app全局字体设置

    相信很多对设计追求极致的开发者们对Android系统的默认字体都会感到不满意,这个时候需要使用自定义的字体,当然可以使用系统提供的Typeface来加载自定义字体,但是,一个个TextView的设置, ...

  2. android 自动替换资源文件,简单高效的实现Android App全局字体替换

    Android O推出了一项新的功能「Fonts in XML」,借助这项功能,我们能够像使用其他资源文件一样使用字体,比较方便地实现App全局字体的替换. 为了能够在API 14或者以上的设备上使用 ...

  3. Android App修改字体大小,且不随系统字体大小更改

    在做混合开发时发现,无论是APP内的字体大小,还是前端的字体大小,都会随着系统字体大小发生变化.当遇到老人字体(特大号字体)时,有些页面的布局就乱掉了.而玩过游戏的都知道,所有游戏APP的字体都不会随 ...

  4. Android 应用统一字体设置 typeface

    字体 字体有三个粒度 1. style 宽.粗.斜 public static final int NORMAL = 0;public static final int BOLD = 1;public ...

  5. Android TextView 自定义字体设置(华文行楷TTF)

    如何在Android中,对TextView设置自己喜欢的字体呢? 原文转自:https://blog.csdn.net/shiyangkai/article/details/70257004 本文提供 ...

  6. Android APP开发字体更换

    Android开发更换APP中的字体 今天来一起学习学习如何更换开发中的字体,开门见山: 右键点击main--->new--->Folder--->Assets Folder(简单地 ...

  7. android app替换字体,Android APP更换字体策略精要

    前言 近期项目需要在我们的APP中使用指定的字体库.经过搜集资料,研读源码,和别人探讨请教,最终产出了一些比较好的方案.不敢专享,写成文章分享出来,希望对大家的实际开发工作有所帮助.喜欢探讨Andro ...

  8. 改Android app字体,Android APP自定义字体大小修改

    简单记录下今天做的自定义字体大小修改的功能 需求:添加具体字体自定义大小功能.不需要跟随系统字体大小改变而改变 1.首先看一下用到的调节字体大小的控件: 字体大小调节页 控件继承自系统的SeekBar ...

  9. 如何设置app字体跟随系统_设置Android app的字体不随系统全局字体大小的变动而变动...

    从android4.0起系统设置的"显示"提供设置字体大小的选项.以三星s4为例,在"设置-我的设备-显示-字体大小"中选择,可以调整系统的字体.这个设置直接会 ...

最新文章

  1. 【C++】多线程与原子操作和无锁编程【五】
  2. Samsung:Galaxy Fold确认解决屏幕问题
  3. 用python画圣诞树图片-节日快乐! Python画一棵圣诞树送给你
  4. 请问生产成本收集器与标准成本评估有什么关联?
  5. How to publish more papaers?
  6. SQL Server 2005新特性之使用with关键字解决递归父子关系
  7. 苹果php环境,苹果电脑安装PHP环境步骤-PHP问题
  8. ntent action大全
  9. App工程从Eclipse迁移到Android Studio的问题总结
  10. 静态代理,动态代理,Cglib代理详解
  11. jQuery实用小技巧--输入框文字获取和失去焦点
  12. Teststand 中用labview 读写station options属性
  13. python 读取PDF内容(推荐pdfplumber)
  14. git中如何获取远程仓库的最新代码?
  15. 杭州公司java开发工程师常见面试问题
  16. 最好用的 Base64 在线工具
  17. 利用spring+springMvc对单点登录(SSO)的简单实现(含源码)
  18. 细胞治疗CAR_T行业深度报告:细胞治疗,七载归来方始坼-20210706-兴业证券
  19. 「Section 4」定点数的乘除法实现
  20. 阿里云/腾讯云服务器上部署Nginx,域名,SSL证书

热门文章

  1. zoj3380 Patchouli's Spell Cards
  2. step计算机语言,STEP7的三种基本编程语言LAD、FBD及STL 该如何抉择?
  3. 陀螺仪加速度计MPU6050程序与校准方法
  4. 2021年 12.9 英寸 iPad Pro 测评
  5. K-Means对红酒数据进行聚类||python
  6. Django:将项目移动到新环境
  7. 如何使用ping命令检查网络情况
  8. 范德堡大学计算机专业研究生,范德堡大学计算机科学研究生语言及申请要求-费用-课程设置...
  9. Linux 音频驱动(三) ASoC音频驱动之Codec驱动
  10. php 获取中英文字符的数量;和JS获取中英文字符的数量