安卓设置自定义字体的解决方案

本文介绍了如何使用开源库Calligraphy在Android应用中方便地全局设置和管理自定义字体,避免频繁的GC导致的性能问题。通过在Android Studio中添加依赖,自定义Application和重写attachBaseContext方法,可以实现TextView默认字体的更改。同时,提供了针对单个TextView设置字体的代码示例和一种避免性能问题的Typefaces类。
摘要由CSDN通过智能技术生成

----------
2015-08-13日更新
发现了一个开源的第三方项目!!!真的屌炸天了
可以快速的全局设置!!!!
简直不敢详细,而且还事存在了好久的项目了!! 

方法很简单,就是使用github上的一个开源库Calligraphy,使用步骤只需要以下几步

  • 在AndroidStudio中添加依赖,搜索calligraphy点击添加即可(如果还没有使用AndroidStudio,推荐切换到此google官方开发工具)
  • 自定义Application,在onCreate里面配置默认字体
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder().setDefaultFontPath("fonts/Roboto-Bold.ttf").setFontAttrId(R.attr.fontPath).build());
  • 在Activity中重写attachBaseContext方法(推荐使用一个BaseActivity,app中的所有Activity继承自BaseActivity)
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));

这样,TextView的默认字体就成了你设置的Roboto-Bold字体,如果要单独对TextView设置其他字体,可以直接在xml中或style中使用fontPath,多种使用方法请参考github上Calligraphy的Readme文档和Sample示例程序。



----------


如果只是单独设置一两个,使用这个代码就可以了.别的方法不用考虑了,性能不怎么样,
https://docs.gradle.org/current/userguide/userguide_single.html
下面介绍了三种方案..但你可以不用看了,还是直接看下我写的这个总结吧
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/YourCustomFont.ttf");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值