为满足app个性的需求,有时候需要使用一些个性字体。这时候就需要替换默认的字体了。

首先,Android为我们提供了四种字体可选:normal、sans、serif、monospace.

使用方式:

使用时可以在style中设置主题字体,也可在xml布局文件中使用,设置android :typeface=”serif”即可。

那么,如果想使用别的字体的话怎么办。这时就需要下载相应字体的文件,一般为ttf后缀。

使用方式:

首先把字体文件复制到assets文件夹下。

Assets和raw不同处是,assets下可以再创建文件夹,所以你可以把下载的字体都放到新建的文件夹下,比如新建fonts文件夹。

然后,获取字体对象的方式是:

Typeface tf = Typeface.createFromAsset(context.getAssets(),fontName);

其中fontName就是字体文件的文件名,如:simkai.ttf,或fonts/simkai.ttf。

使用可分两种情况:

一、如果只设置某个或几个控件的字体,可直接使用控件的setTypeface()方法。

如:myTextView.setTypeface(tf);

二、如果想全局替换字体,可使用下面的方法

1、在style文件中,主题样式中要设置字体,比如设置serif

<style name=”MyTheme” parent=”android:Theme.Light”>

<item name=”android:typeface”>serif</item>

</style>

2、在使用的application中使用反射的方式设置字体

方法可如下这样:

Private void setFont(Typeface tf){Try{Field field = Typeface.class.getDeclaredField("SERIF");field.setAccessible(true);field.set(null,tf);}catch(Exception e){e.printStackTrace();}
}

注意这里的“SERIF”是和style中相对应的,并且注意大小写。

有时候,运行后没有替换成功,可以重启一下app试试。

更多问题可参考:https://blog.csdn.net/z609933542/article/details/53064592

Android开发替换字体相关推荐

  1. android bitmap着色,android开发 替换bitmap中的颜色值

    /** * 将bitmap中的某种颜色值替换成新的颜色 * @param bitmap * @param oldColor * @param newColor * @return */ public ...

  2. android 全局换字体,Android 全局替换字体

    1. 替换全局字体 需要引入依赖 // 替换全局字体使用 api 'com.android.support:support-v13:28.0.0' 在 res 目录下创建一个 font 目录,将用到的 ...

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

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

  4. android反射替换字体,快速使用反射更换Android全局字体

    问题背景 之前在编写鲤鱼日语时,因为使用了外部的字体,这导致了一个问题就是我的ListView显示的是圆滑的字体,但是其他dialog.Spinner就全都是Android默认字体,这样不统一就会很难 ...

  5. android开发文本字体包,AndroidStudio 实现加载字体资源的方法

    AndroidStudio 实现加载字体资源的方法 在android中字体的格式总是不能尽善尽美的显示出来 ,  于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加 ...

  6. 【完美解决】android开发 自定义字体安装包过大的问题

    很简单! 1.下载一款字体编辑器(我用的是Font Creator Program)打开你要用的字体ttf文件 2.删除不需要的文字(我这个项目只需要用到数字以及几个固定的汉字,原来7.5M的字体包瞬 ...

  7. android开发修改字体大小,安卓开发——修改Toolbar标题字体大小

    首先在style.xml文件中,定义: 18sp 然后在布局文件中设置app:titleTextAppearance="@style/Toolbar.TitleText",即 xm ...

  8. 云炬Android开发笔记 3-2字体图标库集成与封装

    1.项目:android-iconify点此链接到Github 这是一个字体图标库,用字体来代替很多图片. Android开发经常将很多本地图标放在drawable和mipmap文件夹下,这样有一些坏 ...

  9. Android 替换字体的方式以及同时替换多种字体

    替换字体的方式 1.Android原生的适配方案:按照区域(values-ko values-it-rIT values-zh-rCN) 按照机器的Android版本 按照设备分辨率来加载不同的fon ...

最新文章

  1. UniCode 速查表
  2. 5.6 matlab曲线拟合案例(股票预测问题、算法的参数优化问题)
  3. 【收藏】生产订单业务流程
  4. 操作系统大内核和微内核_操作系统中的内核
  5. ubuntu 安装ssh服务
  6. 应用安全测试的发展趋势
  7. windows server 2019添加开机启动项
  8. 基于Arduino的蓝牙电子秤
  9. RGB565常见颜色对照表
  10. 关闭appleid双重认证_Apple ID 被停用如何解决?
  11. Cypress 自定义方法命令
  12. 图像处理的相关数学知识
  13. 在clubof.net上建立了个人主页
  14. Android Native 代码 Release 编译 - 隐藏符号表
  15. Win8输入法不见了怎么办
  16. SVM算法教科书(一)
  17. android系统应用的平台化开发
  18. java数组中包含元素_Java中声明数组时,包括数组的名字、数组中包含的元素的 。 (5.0分)_学小易找答案...
  19. 微信图标现在可以换颜色了???
  20. vue中使用类似html中a标签的锚链接,实现点击定位到当前页面的某个位置

热门文章

  1. qq登录界面句柄_注册QQ飞车日服账号
  2. 集成VueCli5各种功能与插件(一)安装
  3. 【对讲机的那点事】你了解TETRA数字集群通信系统组网的模式吗?
  4. vue+springboot通过post请求实现文件下载
  5. 物联网工程毕业设计选题推荐
  6. 内蒙古大学计算机学院教授,内蒙古大学计算机学院软件学院硕士生导师:张俊星...
  7. 广州大学2021计算机组成原理课程设计实验报告
  8. 【视频处理】模拟视频信号及其传输
  9. 医门凿眼----痹症勾沉
  10. Java API VIII