zoukankan      html  css  js  c++  java
  • Android复习(二)应用资源——>字体

    字体资源定义了可在应用中使用的自定义字体。字体可以是单独的字体文件或字体文件的集合,称为字体系列,并在 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!" />
    

      


       
  • 相关阅读:
    vue生命周期过程做了什么
    css_css3_实用属性_随时补充更新
    echarts的symbol引用本地图片写法
    无废话设计模式(1)--简单工厂、工厂方法、抽象工厂
    JavaWeb--Maven学习
    SpringCloud Alibaba实战 -引入服务网关Gateway
    从ReentrantLock看AQS (AbstractQueuedSynchronizer) 运行流程 抽象的队列式同步器
    架构的搭建(一)SpringCloud Alibaba
    配置中心之Nacos简介,使用及Go简单集成
    RabbitMQ
  • 原文地址:https://www.cnblogs.com/developer-wang/p/12619884.html
Copyright © 2011-2022 走看看