目录

前言

①使用typeface 方式

一、创建加载字体实例

二、使用步骤

1.在Application中加载字体

2.在xml中使用

②使用fontFamily 方式

1、在res/font下导入ttf文件

2、在xml中使用

总结


前言

产品告诉UI设计设计图时要使用炫酷字体。因为Android不像网页项目可以使用浏览器本机的字体,Android只有那几种字体。

可以使用两种方法:

  • android:typeface="serif"
  • android:fontFamily="@font/xxxx"

typeface值如下

fontFamily 值如下

sans-serif

sans-serif-condensed

sans-serif-smallcaps

serif

serif-monospace

monospace

casual

cursive

fontFamily优先级大于typeface优先级


可以查看下面Android常用字体库

Android自带字体库https://blog.csdn.net/weixin_41620505/article/details/114673516

①使用typeface 方式

一、创建加载字体实例

使用的反射方式


import android.content.Context
import android.graphics.Typefaceobject FontsOverride {/**
*staticTypefaceFieldName :最好是 normal、sans、serif、monospace其中一个
*/fun setDefaultFont(context: Context, staticTypefaceFieldName: String, fontAssetName: String?) {val regular = Typeface.createFromAsset(context.assets, fontAssetName)replaceFont(staticTypefaceFieldName, regular)}internal fun replaceFont(staticTypefaceFieldName: String, newTypeface: Typeface?) {try {val staticField = Typeface::class.java.getDeclaredField(staticTypefaceFieldName)staticField.isAccessible = truestaticField[null] = newTypeface} catch (e: NoSuchFieldException) {e.printStackTrace()} catch (e: IllegalAccessException) {e.printStackTrace()}}
}

二、使用步骤

1.在Application中加载字体

要把字体ttf文件放到assets/fonts目录下,没有此目录手动创建

//staticTypefaceFieldName :最好是 normal、sans、serif、monospace其中一个
FontsOverride.setDefaultFont(this, "SERIF", "fonts/pangmenzhengdaobiaoti.ttf")

2.在xml中使用

代码如下(示例):

    <TextViewandroid:id="@+id/newHomeLoction" android:textColor="@color/white"android:textSize="26sp"android:typeface="serif"app:layout_constraintStart_toStartOf="@+id/newHomeLeaveTitle"app:layout_constraintTop_toBottomOf="@+id/newHomeLeaveTitle" />

②使用fontFamily 方式

1、在res/font下导入ttf文件

如下图所示:

2、在xml中使用

        <TextViewandroid:id="@+id/newHomeLoction"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:gravity="bottom|end"android:includeFontPadding="false"android:paddingBottom="28dp"android:fontFamily="@font/pangiaoti"android:text="字体水水水水" />

总结

使用typeface这种方式不用每一个TextView都需要写,因为有默认字体样式(monospace)

使用fontFamily方式需要每一个TextView需要写一遍

在xml布局使用的

1:

android:typeface

2:

android:fontFamily

做好区分

Android设置本地字体文件ttf相关推荐

  1. android mp3 lrc歌词文件utf-8歌词显示为乱码,Android读取本地json文件的方法(解决显示乱码问题)...

    本文实例讲述了Android读取本地json文件的方法.分享给大家供大家参考,具体如下: 1.读取本地JSON ,但是显示汉字乱码 public static String readLocalJson ...

  2. Android 设置TextView字体加粗

    今天,简单讲讲Android里如何设置TextView字体加粗. 不废话了,用过多次,还是没记住.直接上代码. 1.布局文件中这样设置即可: XML/HTML代码 android:textStyle= ...

  3. Android 读取本地txt文件中的内容

    Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...

  4. C++解析IconFont矢量字体文件ttf,以及无锯齿显示矢量字体

    一.下载矢量字体文件TTF 1.可以使用集成好的矢量字体,如FontAwesome.openwebicons.IcoMoon-Free.typicons-- 只要去搜索关键字,找到对应的官网即可下载到 ...

  5. android 设置铃声文件夹在哪里,Android 设置铃声的文件夹

    Android 设置铃声的文件夹 1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1 ...

  6. Mac电脑设置本地pac文件及问题解决

    Mac电脑设置本地pac文件及问题解决 参考文章: (1)Mac电脑设置本地pac文件及问题解决 (2)https://www.cnblogs.com/laomanong/p/6022097.html ...

  7. Android设置自定义字体

    最近被设计要求设置好看的字体.简单查了资料,下面一种方法可以设置Android字体 你可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体. 第一步,在assets目录下新建fonts ...

  8. android使用系统字体文件,Android 自定义字体,更换系统默认显示的字体使用自定义字体...

    序言: 1.指定控件显示指定字体 有时为了美化UI,需要在指定控件中显示特定的字体,而这个字体在Android系统中却没有,此时可将需要的字体文件存放在assets文件夹中,在为控件设置Typefac ...

  9. Android加载自定义字体出错,Android设置自定义字体的解决方案

    找了很多解决方案,但是都会报错,只好边借鉴着前辈们的思路,边自己尝试改代码了QWQ 前面准备:要先把使用的字体文件放入到工具中 新建一个名叫assets的文件夹,然后把字体文件复制到里面,如图 成功放 ...

最新文章

  1. HSV的数据结构各分量H S V的直观理解其实就是对应图片位置的的像素一一对应的矩阵表示
  2. access窗体中再制作查询窗体_如何给java窗体添加下拉菜单项,以选择游戏难度为例 - 攻向前端的小白...
  3. php mysqli还原数据库,PHP mysqli操作数据库
  4. ajax 访问mysql_AJAX 数据库实例
  5. 火狐中的CSS Grid Inspector新增强大的功能
  6. UVA 2474 - Balloons in a Box 爆搜
  7. SpringBoot 自定义线程池
  8. 【2015年第4期】大数据引领教育未来:从成绩预测谈起
  9. 了解on的依赖的调查作业的最终目的,前期尽可能的要出更多的工数
  10. 调用dll 返回65535_一种通用DLL劫持技术研究
  11. iPhone十年越狱史
  12. 图相似度模型(论文篇)
  13. python3网络爬虫(堆糖网)
  14. U盘未分配空间合并——U盘分区扩展卷为灰色的
  15. 妙!云服务器远程登录,本地听声音
  16. thinkPHP6报错:Failed to listen on 0.0.0.0:8000 (reason: һַȨ޲“
  17. 笔记本联想(Lenovo)G40-70M加装内存和SSD固态硬盘
  18. linux内核开启otg,OTG驱动分析(一)
  19. ILRuntime篇:介绍并下载运行官方案例
  20. jvm什么时候会触发full gc

热门文章

  1. MySQL主从同步各类型故障总结
  2. Github开源社区的验证码
  3. KTV预定包厢酒柜存取酒小程序开发
  4. 猪肉干烘干工艺,猪肉干的工艺步骤如下
  5. 仿抖音短视频项目笔记 (一)产品介绍与数据库设计
  6. vant-ui van-tabs 插入图片
  7. 计算机毕业设计 SSM疫情防控志愿者管理系统 志愿者服务信息系统 大学志愿者管理系统Java Vue MySQL数据库 远程调试 代码讲解
  8. 计算机电子电路原理图,学看电路原理图入门知识积累
  9. linux可视化管理工具-旗鱼云梯
  10. 网络安全如何打造?保护对象就是你的最佳课本