Android自定义字体非常简单,能够从assets和SD卡两处加载标准的ttf字体。要实现自定义字体,只需借助工具类Typeface即可。文末有工程源码。

如果发生了Caused by: java.lang.RuntimeException: native typeface cannot be made的异常的话,请检查字体路径。另外我发现少数TTF字体可能因为体积太大的原因,也会报这个异常。

从assets里加载的时候,会增加apk包的体积,使用方法:

// 加载assets中的字体

TextView textView1 = (TextView) findViewById(R.id.textView1);

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/1.ttf");

textView1.setTypeface(typeface);

从sd卡里加载的时候,并不需要额外的SD卡读权限,实现方法:

// 加载SD卡中的字体

TextView textView2 = (TextView) findViewById(R.id.textView2);

Typeface typeface2 = Typeface.createFromFile(Environment.getExternalStorageDirectory() + "/2.ttf");

textView2.setTypeface(typeface2);

源码工程上传中,你可以在此处找到。

android 加载ttf流程分析,Android自定义字体 TextView 从SD卡加载TTF字体相关推荐

  1. android 休眠唤醒驱动流程分析,Android 电源管理——gotosleep和userActivity关注

    一.Android power management应用层分析 Android提供了android.os.PowerManager类,该类用于控制设备的电源状态的切换. 该类对外有三个接口函数: 1. ...

  2. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | RawDexFile.cpp 分析 | dvmRawDexFileOpen函数读取 DEX 文件 )

    文章目录 前言 一.RawDexFile.cpp 中 dvmRawDexFileOpen() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLoader 加载 ...

  3. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | 查找 DexFile 对应的C代码 | dalvik_system_DexFile.cpp 分析 )

    文章目录 前言 一.查找 DexFile 对应的 C++ 代码 1.根据 Native 文件命名惯例查找 C++ 代码 2.根据方法名查找 二.dalvik_system_DexFile.cpp 源码 ...

  4. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexFile loadDexFile 函数 | 构造函数 | openDexFile 函数 )

    文章目录 前言 一.DexFile.loadDexFile 函数分析 二.DexFile 构造函数分析 三.DexFile.openDexFile 函数分析 前言 上一篇博客 [Android 逆向] ...

  5. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexPathList 中根据 File 加载 DexFile | loadDexFile 分析 )

    文章目录 前言 一.根据 File 加载 DexFile 二.DexPathList.loadDexFile 函数分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DexClassLo ...

  6. 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexPathList 构造函数分析 | makeDexElements 函数分析 )

    文章目录 前言 一.DexPathList 构造函数分析 二.DexPathList.makeDexElements 函数分析 三.Element 类分析 前言 上一篇博客 [Android 逆向]整 ...

  7. android加载efi分区,高通Android UEFI XBL 代码流程分析

    高通Android UEFI XBL 代码流程分析 背景 之前学习的lk阶段点亮LCD的流程算是比较经典,但是高通已经推出了很多种基于UEFI方案的启动架构. 所以需要对这块比较新的技术进行学习.在学 ...

  8. 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | Class.cpp#findClassNoInit 函数 | DexFile.cpp#dexFindClass 函数分析 )

    文章目录 前言 一.Class.cpp#dvmDefineClass 函数分析 二.Class.cpp#findClassNoInit 函数分析 三.DexFile.cpp#dexFindClass ...

  9. 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | native 函数查询 | dalvik_system_DexFile.cpp#defineClassNative 函数 )

    文章目录 前言 一.查询 defineClassNative 函数 二.dalvik_system_DexFile.cpp#Dalvik_dalvik_system_DexFile_defineCla ...

最新文章

  1. 关于第三方IOS的checkBox框架的使用
  2. 【转】IOS动画的实现,其实很简单
  3. 转:初学者简易 .vimrc编写指南
  4. [SDOI2011]染色
  5. java 回调函数很好懂
  6. php-cms,GitHub - lovelife10000/L-php-cms: 基于laravel框架开发的一款php CMS内容管理系统,前端采用angular、jquery技术...
  7. python 函数可以作为容器对象的元素_python基础(十四):函数对象与闭包
  8. Selenium系列文章汇总
  9. 78oa mysql_78OA系统安装后无法打开解决方案
  10. Bailian2787 算24【DFS】(POJ NOI0205-1789)
  11. freeswitch 使用mysql替换默认的sqlite
  12. Python-编码格式
  13. IDEA导入项目后报错缺失jar包
  14. c语言中关系运算符和逻辑运算符,c语言中的关系运算符和逻辑运算符
  15. 电力拖动自动控制系统_教授为你解读“电气工程及其自动化”专业类
  16. win10非核心版本的计算机上
  17. Fisher精确检验【转载】
  18. Python编程之找完数
  19. facebook的network-connection-class(测量移动端网络质量)源码详解
  20. 山海演武传·黄道·第一卷 雏龙惊蛰 第二十五 ~ 二十六章 赤龙与紫龙

热门文章

  1. 国外常用的英文站链接工具
  2. 阿里架构师如是说:权限系统就该这么设计
  3. zzulioj 1191: 数星星(结构体专题)
  4. 余生请珍惜,你已不是孩童!
  5. WRF 和 WPS 3.9.1 以及 wrf chem、wrf hydro安装
  6. 1.9 微信消息发送示例
  7. 思念在梦中缱绻,遥望在心底生香
  8. mobaXterm无法上传,打开,下载文件解决方案
  9. Innodb页合并和页分裂
  10. MySQL ERROR 1153 解决办法