目录

前言

①使用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. Shared——The best front-end hacking cheatsheets — all in one place.
  2. Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化...
  3. 【运筹学】指派问题、匈牙利法总结 ( 指派问题 | 克尼格定理 | 匈牙利法 | 行列出现 0 元素 | 试指派 | 打 √ | 直线覆盖 ) ★★★
  4. 【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )
  5. Java之IO流学习总结【上】
  6. MemCache内存缓存系统
  7. js 类数组arguments详解
  8. git创建仓库,并提交代码(第一次创建并提交)
  9. Java虚拟机 --- 内存区域
  10. 【学习笔记】cs231n-assignment1-two_layer_net
  11. 如何使用 tinypng 进行批量压缩
  12. 全球云服务商排名情况及国内云主机市场占有率份额排名对比
  13. ARM嵌入式系统的学习步骤
  14. 桌面在计算机哪个文件,电脑桌面上的文件在C盘哪个文件里面
  15. 一位500强高管的忠告:怕你胸有鸿鹄之志,手无缚鸡之力
  16. 了解MVC模式与MVC框架
  17. Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
  18. 闪存芯片NAND FLASH的封装
  19. 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
  20. Android 字体库的使用

热门文章

  1. 显示进度条(回旋镖版)
  2. 小米网关与服务器的交互协议,绿米网关局域网通讯协议V108.doc
  3. 小羊驼和你一起学习cocos2d-x之四(摇杆)
  4. python爬虫数据导入excel_Python爬虫练习(3)——将数据导入excel表格
  5. 2021年挖矿电脑配置推荐
  6. int与Bigdemical的转换
  7. 达梦查询锁表解除、锁超时
  8. 春季高考计算机基础知识试题,2020年天津市春季高考计算机预测模拟试卷(含答案)...
  9. 怎么在电脑上玩超级英雄联盟 超级英雄联盟电脑版玩法教程
  10. 详解ISO13400文档-3