Android设置本地字体文件ttf
目录
前言
①使用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:typeface2:
android:fontFamily做好区分
Android设置本地字体文件ttf相关推荐
- android mp3 lrc歌词文件utf-8歌词显示为乱码,Android读取本地json文件的方法(解决显示乱码问题)...
本文实例讲述了Android读取本地json文件的方法.分享给大家供大家参考,具体如下: 1.读取本地JSON ,但是显示汉字乱码 public static String readLocalJson ...
- Android 设置TextView字体加粗
今天,简单讲讲Android里如何设置TextView字体加粗. 不废话了,用过多次,还是没记住.直接上代码. 1.布局文件中这样设置即可: XML/HTML代码 android:textStyle= ...
- Android 读取本地txt文件中的内容
Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...
- C++解析IconFont矢量字体文件ttf,以及无锯齿显示矢量字体
一.下载矢量字体文件TTF 1.可以使用集成好的矢量字体,如FontAwesome.openwebicons.IcoMoon-Free.typicons-- 只要去搜索关键字,找到对应的官网即可下载到 ...
- android 设置铃声文件夹在哪里,Android 设置铃声的文件夹
Android 设置铃声的文件夹 1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1 ...
- Mac电脑设置本地pac文件及问题解决
Mac电脑设置本地pac文件及问题解决 参考文章: (1)Mac电脑设置本地pac文件及问题解决 (2)https://www.cnblogs.com/laomanong/p/6022097.html ...
- Android设置自定义字体
最近被设计要求设置好看的字体.简单查了资料,下面一种方法可以设置Android字体 你可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体. 第一步,在assets目录下新建fonts ...
- android使用系统字体文件,Android 自定义字体,更换系统默认显示的字体使用自定义字体...
序言: 1.指定控件显示指定字体 有时为了美化UI,需要在指定控件中显示特定的字体,而这个字体在Android系统中却没有,此时可将需要的字体文件存放在assets文件夹中,在为控件设置Typefac ...
- Android加载自定义字体出错,Android设置自定义字体的解决方案
找了很多解决方案,但是都会报错,只好边借鉴着前辈们的思路,边自己尝试改代码了QWQ 前面准备:要先把使用的字体文件放入到工具中 新建一个名叫assets的文件夹,然后把字体文件复制到里面,如图 成功放 ...
最新文章
- Shared——The best front-end hacking cheatsheets — all in one place.
- Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化...
- 【运筹学】指派问题、匈牙利法总结 ( 指派问题 | 克尼格定理 | 匈牙利法 | 行列出现 0 元素 | 试指派 | 打 √ | 直线覆盖 ) ★★★
- 【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )
- Java之IO流学习总结【上】
- MemCache内存缓存系统
- js 类数组arguments详解
- git创建仓库,并提交代码(第一次创建并提交)
- Java虚拟机 --- 内存区域
- 【学习笔记】cs231n-assignment1-two_layer_net
- 如何使用 tinypng 进行批量压缩
- 全球云服务商排名情况及国内云主机市场占有率份额排名对比
- ARM嵌入式系统的学习步骤
- 桌面在计算机哪个文件,电脑桌面上的文件在C盘哪个文件里面
- 一位500强高管的忠告:怕你胸有鸿鹄之志,手无缚鸡之力
- 了解MVC模式与MVC框架
- Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
- 闪存芯片NAND FLASH的封装
- 一文搞懂│XSS攻击、SQL注入、CSRF攻击、DDOS攻击、DNS劫持
- Android 字体库的使用
热门文章
- 显示进度条(回旋镖版)
- 小米网关与服务器的交互协议,绿米网关局域网通讯协议V108.doc
- 小羊驼和你一起学习cocos2d-x之四(摇杆)
- python爬虫数据导入excel_Python爬虫练习(3)——将数据导入excel表格
- 2021年挖矿电脑配置推荐
- int与Bigdemical的转换
- 达梦查询锁表解除、锁超时
- 春季高考计算机基础知识试题,2020年天津市春季高考计算机预测模拟试卷(含答案)...
- 怎么在电脑上玩超级英雄联盟 超级英雄联盟电脑版玩法教程
- 详解ISO13400文档-3