字体资源定义了可在应用中使用的自定义字体。字体可以是单独的字体文件或字体文件的集合,称为字体系列,并在 XML 中定义。

另请参阅如何定义 XML 中的字体,或改用可下载字体

捆绑式字体

您可以将字体作为资源捆绑在应用中。字体在 R 文件中编译,在系统中可自动作为资源使用。然后,您可以借助 font 资源类型访问这些字体。

文件位置:
res/font/filename.ttf (.ttf.ttc.otf 或 .xml
该文件名将用作资源 ID。
资源引用:
在 XML 中:@[package:]font/font_name
语法:
   
 <?xml version="1.0" encoding="utf-8"?>
<font-family>
<font
android:font="@[package:]font/font_to_include"
android:fontStyle=["normal" | "italic"]
android:fontWeight="weight_value" />
</font-family>

  


   
 
元素:
<font-family>
必需。该元素必须是根节点。

没有属性。

<font>
定义一个系列内的单个字体。不包含子节点。

属性:

android:fontStyle
关键字。定义字体样式。该属性用在字体加载到字体堆栈中的情况,并且会替换字体的标头表格中的任何样式信息。如果您未指定该属性,应用将使用字体标头表格中的值。常量值必须为 normal 或 italic
android:fontWeight
整数。字体粗细。该属性用在字体加载到字体堆栈中的情况,并且会替换字体的标头表格中的任何粗细信息。属性值必须为为 100 的正倍数,并且介于 100 和 900(含)之间。如果您未指定该属性,应用将使用字体标头表格中的值。常规粗细的最常见值为 400,粗体粗细为 700。
示例:
保存于 res/font/lobster.xml 的 XML 文件:

   
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>

  


   
 

将字体应用于 TextView 的 XML 文件保存在 res/layout/ 中:

   
 <?xml version="1.0" encoding="utf-8"?>
<EditText
android:fontFamily="@font/lobster"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, World!" />

  

 

可下载字体

可下载字体资源定义了可在应用中使用的自定义字体。此字体在应用本身中不可用,而是从字体提供程序检索。

文件位置:
res/font/filename.xml 该文件名用作资源 ID。
资源引用:
在 XML 中:@[package:]font/font_name
语法:
   
<?xml version="1.0" encoding="utf-8"?>
<font-family
android:fontProviderAuthority="authority"
android:fontProviderPackage="package"
android:fontProviderQuery="query"
android:fontProviderCerts="@[package:]array/array_resource" />

  

元素:
<font-family>
必需。该元素必须是根节点。

属性:

android:fontProviderAuthority
字符串。必需。定义字体请求的字体提供程序的授权。
android:fontProviderPackage
字符串。必需。要用于请求的字体提供程序的软件包名称。此属性用于验证提供程序的身份。
android:fontProviderQuery
字符串。必需。字体的字符串查询。有关此字符串的格式,请参阅字体提供程序的文档。
android:fontProviderCerts
数组资源。必需。定义用于为此提供程序签名的证书的哈希集。此属性用于验证提供程序的身份,仅当提供程序不属于系统映像的一部分时才是必需的。该值可以指向单个列表(字符串数组资源)或列表的列表(数组资源),其中每个单独的列表代表一个签名哈希集合。有关这些值,请参阅字体提供程序的文档。
示例:
保存于 res/font/lobster.xml 的 XML 文件:

   
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
android:fontProviderAuthority="com.example.fontprovider.authority"
android:fontProviderPackage="com.example.fontprovider"
android:fontProviderQuery="Lobster"
android:fontProviderCerts="@array/certs">
</font-family>

  

 

定义证书数组的 XML 文件保存在 res/values/ 中:

   
 <?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="certs">
<item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
</string-array>
</resources>

  


   
 

将字体应用于 TextView 的 XML 文件保存在 res/layout/ 中:

   
<?xml version="1.0" encoding="utf-8"?>
<EditText
android:fontFamily="@font/lobster"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, World!" />

  


   

Android复习(二)应用资源——>字体的更多相关文章

  1. Android 设置资源字体,屏幕截图

    字体设置 将下载的资源字体放在assets中, 引用设置 edit..setTypeface(Typeface.createFromAsset(getAssets(), "字体名.ttf&q ...

  2. Android SearchView 自定义SearchIcon和字体颜色大小

    自定义SearchView的搜索图标和字体属性相对复杂一些,记下来. 一.自定义SearchIcon 1.API版本低于21:版本小于21时,要修改SearchIcon比较复杂,需要先获取到Searc ...

  3. Android中通过typeface设置字体

    Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace",除此之外还可以使用其他字体文件(*.ttf)方法一:XML中使用android默认字体 ...

  4. Android进阶(二十)AndroidAPP开发问题汇总(四)

    · Android进阶(二十)AndroidAPP开发问题汇总(四) android:layout_width和android:width的区别 基中的android:layout_width和and ...

  5. Android生成二维码--保存和分享二维码图片

    之前写过生成自定义二维码的两篇文章:<Android生成自定义二维码><Android生成二维码–拍照或从相册选取图片>,下面就介绍一下Android应用内如何保存以及分享二维 ...

  6. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  7. Android开发 ---如何操作资源目录中的资源文件2

    Android开发 ---如何操作资源目录中的资源文件2 一.颜色资源管理 效果图: 描述: 1.改变字体的背景颜色 2.改变字体颜色 3.改变按钮颜色 4.图像颜色切换 操作描述: 点击(1)中的颜 ...

  8. webpack笔记二 管理资源

    webpack笔记二 管理资源 webpack最出色的功能之一就是除了引入JavaScript,还可以通过loader引入任何其它类型的文件. 加载CSS 为了在JavaScript模块中import ...

  9. (转)Android 自定义 spinner (背景、字体颜色)

    Android 自定义 spinner (背景.字体颜色) (2012-07-04 17:04:44)   1.准备两张图片,并做好9.png   2.在drawable中定义spinner_sele ...

  10. Android入门(二):Android工程目录结构

    首先我们来看看Android工程的目录结构,如下图: 下面我们来看看每个文件夹都是用来做什么的? 1.src:这个不用多说,它就是保存Java源文件的目录: 2.gen:该文件夹用来保存自动生成的R. ...

随机推荐

  1. 【JavaScript】无框架翻页处理

    这个业务太复杂了 输入框的东西要用接口查出来,居然不是用户手动输入 然后我就要做一个翻页的查询列表: <div form id="troublePartSearch" sty ...

  2. 国产软件如何让人再次失望——!20824 mindspore1.3.0gpu version can not compile from source code, because openmpi source code has bug

    如题,该PR地址: https://gitee.com/mindspore/mindspore/pulls/20824#note_7053720 What type of PR is this? Un ...

  3. 【EF Core】自动生成的字段值

    自动生成字段值,咱们首先想到的是主键列(带 IDENTITY 的主键).EF Core 默认的主键配置也是启用 Identity 自增长的,而且可以自动标识主键.前提是代表主键的实体属性名要符合以下规 ...

  4. AQS源码解读之ReentrantLock-图解

    1.背景 1.AQS简介AQS全称为AbstractQueuedSynchronizer(抽象队列同步器).AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同 ...

  5. [CEOI2010 day2] tower 题解

    前言 题目链接:洛谷. 题意简述 你要对一个数组排序,满足 \(a_{i + 1} \leq a_i + D\),其中 \(D\) 是给定的常数.求方案数对 \(10^9+9\) 取模的结果. 题目分 ...

  6. 日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造

    大家好我是张金明,在蔚来汽车担任大数据平台研发工程师.这次和大家分享的是 Apache DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用和改造,接下来我将从背景.应用现状和技术 ...

  7. 零基础学虚幻4(UE4):蓝图+VR 丁树凯教程

    本人正在学习中,需要资料或者讨论问题的加Q:1241642375

  8. RabbitMQ相关总结

    //connection //channel //broke //exchange:fanout. dirct. topic(*:一个单词.#:多个单词). header //queue //bind ...

  9. 平衡搜索树-AVL树 图文详解 (万字长文)

    目录 AVL树 AVL树的概念 AVL树节点的定义: AVL树的插入 基本情况分析 平衡因子对应的操作 旋转操作 分析需要旋转的情况 结论 4种旋转操方法与特征 6种双旋平衡因子特征 代码实现 四种旋 ...

  10. 使用 Portainer CE 管理远程主机的 Docker

    Prerequisites 你已经在本地主机安装了 Portainer CE 安装 打开本地主机的 Portainer CE 界面,默认地址为 localhost:9443 在左侧边栏中找到 Envi ...