找了很多解决方案,但是都会报错,只好边借鉴着前辈们的思路,边自己尝试改代码了QWQ

前面准备:要先把使用的字体文件放入到工具中

新建一个名叫assets的文件夹,然后把字体文件复制到里面,如图

成功放置示意图

这里我需要分别在两种情况下使用两种字体,所以示意图上有两种字体。

1.如果只是单独设置一两个,使用这个代码就可以了。

例子使用:HYXiaoBoZheZhiTiJ字体

TextView tv = (TextView) findViewById(R.id.textTittle);

//从assert中获取有资源,获得app的assert

// 采用getAserts(),通过给出在assert/下面的相对路径

// 在实际使用中,字体库可能存在于SD卡上

// 可以采用createFromFile()来替代createFromAsset

Typeface face = Typeface.createFromAsset(getAssets(),"fonts/HYXiaoBoZheZhiTiJ.ttf");

tv.setTypeface(face);

2.如果需要大量使用自己的自定义字体,类可以完成自定义字体,之后再哪里需要使用自定义字体,就把路径替换原有的TextView就完成了。

例子使用:汉仪黑仔体字体

新建一个类名叫MyTextView继承TextView,重写2个参数的构造方法,源码如下

public classMyTextViewextendsandroid.support.v7.widget.AppCompatTextView {

//Simple constructor to use when creating a view from code

publicMyTextView(Context context) {

super(context);

}

/**

* 初始化字体

*

*@paramcontext

*/

//Constructor that is called when inflating a view from XML

publicMyTextView(Context context, AttributeSet attrs) {

super(context, attrs);

init(context);

}

//Perform inflation from XML and apply a class-specific base style

publicMyTextView(Context context, AttributeSet attrs,intdefStyle) {

super(context, attrs, defStyle);

}

public voidinit(Context context) {

/**

* 初始化字体

*

*/

Typeface tf = Typeface.createFromAsset(getContext().getAssets(),"汉仪黑仔体.ttf");

setTypeface(tf ,1);

}

然后我们复制MyTextView的路径到activity_main中,替换原有的TextView,

我这里的路径是com.example.administrator.eats.MyTextView

修改activity_main中的代码:

替换路径后图

好了,到这里,我们就完成了自定义字体,现在我们运行程序看看效果!(其实还在设计啦,只是对于这个自定义字体的事情已经结束了,故放上草图,见谅见谅!!!)

运行示意图

写程序过程遇到的问题:

一开始我运行遇到的问题是Binary XML file line # : Error inflating class

反正核实后,得到知识点是:

自定义View时三个构造函数都要实现(我只构造了一个)

View(Context context)     //Simple constructor to use when creating a view from code

View(Context context, AttributeSet attrs)     //Constructor that is called when inflating a view from XML

View(Context context, AttributeSet attrs, int defStyle)     //Perform inflation from XML and apply a class-specific base style

第一个是用来在代码中创建View使用,第二个和第三个是从xml中创建View时使用

不过后来很奇怪=-=当我运行成功我的代码,达到我想要的效果的时候,我发现我删掉那2个我自定义的构造函数时,还是能运行,我也搞不到啥子贵了_(:3J∠)_不管了,继续做自己要的界面去了。以上几句都是本Android萌新的逼逼叨,如果有大佬看见了可以给我解释一下就谢谢了!粗略感觉可能是我之前把代码改的面目全非的缘故。

参考:

http://blog.csdn.net/javaandroid730/article/details/53122953

http://www.it1352.com/76703.html

http://blog.csdn.net/samuel__liu/article/details/53761683

http://blog.csdn.net/xiaoxuantengkong/article/details/40864065

Android加载自定义字体出错,Android设置自定义字体的解决方案相关推荐

  1. android 加载ttf流程分析,Android自定义字体 TextView 从SD卡加载TTF字体

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

  2. android加载大量图片内存优化,Android图片加载内存优化

    利用BitmapFactory.Options实现图片内存优化 通过设置options.inPreferredConfig控制内存占用 首先准备了一张1280x800的blue_bg.png图片,我们 ...

  3. android 加载图片黑屏,Android 中启动页黑屏及白屏的解决方式

    启动页黑屏或白屏的原因是,当Activity启动的时候不能马上加载layout. 而黑屏或者白屏是你的theme主题的默认样式,当layout没加载出来就显示黑屏或者白屏. 1.windowBackg ...

  4. android 加载更多,如何在android中实现加载更多的recyclerview

    我想在Recyclerview中实现更多的加载.这是代码. 代码来自 github. https://gist.github.com/ssinss/e06f12ef66c51252563e MainA ...

  5. android加载so文件失败,Android无法加载'.so.1'文件

    我想你还没有通过JNI加载原生库到Java的概念. 首先在java中定义本地方法并在本机中执行相应的实现并编译它(您必须按照命名约定注册本地方法1)2)在jni_onload中注册本地方法...我认为 ...

  6. android 加载更多动画效果,Android实践之带加载效果的下拉刷新上拉加载更多

    前言 之前写的一个LoadingBar,这次把LoadingBar加到下拉刷新的头部.从头写一个下拉刷新,附赠上拉加载更多.下面话不多说了,来一起看看详细的介绍吧. 效果图: 实现过程 首先是自定义属 ...

  7. android 加载gif 动画,GifView——Android显示GIF动画

    作者:ant.cy.liao 主页:http://code.google.com/p/gifview/ 下载:http://code.google.com/p/gifview/downloads/li ...

  8. android加载刷新进度条,android – 在Activity加载时显示进度条

    我有一个ListActivity,它基于列表选择启动另一个Activity.第二个Activity需要从互联网上加载一些相当数据的数据,因此在用户点击一个项目和Activity显示之间有一个明显的延迟 ...

  9. android 加载大长图,android加载长图片的方法

    1.很多应用都有加载一张长图片,用户可以上下拉动图片. 自己没有好的想法,那只好百度咯.结果都说用webview来实现,好吧那就只好先试一下了. 2.自己写了简单的html,然后webview加载.图 ...

  10. android 加载图片 白屏,android启动页白屏和图片自适应问题

    android启动页白屏和图片自适应问题,自适应官方给的说法也只是做多套图去适配不同的分辨率,本文通过几个设置几行代码即可解决启动页短暂白屏和自适应问题. 网上的说法是通过启动页代码裁切图片或者在Im ...

最新文章

  1. ZOJ 3735 dp
  2. 监控服务器项目报备,智慧环保监控预警平台运维项目
  3. POJ 1064 -- Cable master(二分)
  4. redis的增加元素操作
  5. CSS: hover选择器的使用
  6. Hyperreal number
  7. 微信小程序 --- 动态获取input的value
  8. C++基础::便捷函数
  9. mysql awk_Awk实用手册(全)
  10. 加入域报错(找不到网络路径)
  11. 小知识·OTG工作原理
  12. EDKII Build Process:EDKII项目源码的配置、编译流程[3]
  13. linux里的.mht是什么文件,mht文件扩展名,mht文件怎么打开?
  14. VT是什么?怎么打开教程
  15. 利用TLF给文本加样式
  16. 计算机保研er历程分享(浙软、厦大、华师、东南网安、东北、西电、中南......)
  17. 控制台安装mysql步骤_mysql5.6安装步骤-win7系统
  18. 车载通信——CAN收发器选型(低功耗)
  19. 遇到《顺丰速运》app奔溃了,怎么回事呢?
  20. 机械革命z3pro笔记本U盘重装win10系统教学

热门文章

  1. python之禅怎么看_如何看待《Python之禅》事件?
  2. python安卓脚本 模拟滑动_python模拟鼠标拖动操作的方法
  3. MuMu模拟器提取离线安装包
  4. 每天一道算法题-动态规划求钢筋分割
  5. mac安装brew和nvm的终极方法
  6. 无风扇DIN导轨计算机
  7. Quantum LeaPs(QP)的资料
  8. 小程序12306服务器,12306小程序今天正式上线,有三大功能但不包括购票
  9. 06Launch文件
  10. Python的第三周学习总结