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