• android字库使用


    在安卓操作系统下对于 TextView 字体的支持非常有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,如果在没有指定字体的情况下,系统缺省会使用 "Sans" 作为文本显示的字体。但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的。为此,谷歌又提供了另外一种字体的支持方式:字库。

    /** 
    * 在 assets 目录下创建 fonts 文件夹并放入要使用的字体文件(**.ttf)并提供相对路径给 
    * createFromAsset(AssetManager mgr, String path) 来创建 Typeface 对象,再通 
    * 过TextView.setTypeface(Typeface tf) 指定文本显示的字体。 
    */ 
    Typeface face = Typeface.createFromAsset(getAssets(),"fonts/SIMFANG.TTF"); 
    tv_title = (TextView) findViewById(R.id.tv_title); 
    tv_title.setTypeface(face); 

    还需要补充说明一下:虽然采用这种方式可以实现自己想要的显示效果,但是在采用这种方法之前开发人员还是需要考虑下性能消耗和运行环境以及自己 APP 的风格,然后再做出对应的选择。

    原因有以下几点 
    •字库文件的大小:因为字库的尺寸少则几兆,多则几十兆,文件打包的时候对 *.ttf 格式的文件压缩率很低,所以会无形中增大 APP 的体积。 
    •运行环境的考虑:如果你的应用面向的是高版本的运行环境,可以考虑使用这种方法,如果用户的运行环境是 Android 2.2 需要放弃该方法。 
    •应用风格的考虑:如果你的应用既面向高版本运行环境,并且你的应用中统一使用指定的字体,可以考虑使用该方法;若是单单为了应用中的某几个字的显示效果就使用字库,则会得不偿失。

    添加字库还有以下方法:

    1、路径:android4.0\out\target\product\xx\system\fonts

    把需要添加的字库文件xx.ttf放到此文件夹

    2、android4.0\out\target\product\xx\system\etc

    在fallback_fonts.xml和system_fonts.xml文件中添加新项

    <family>

      <fileset>

        <file>xx.ttf</file>

      </fileset>

    </family>

  • 相关阅读:
    剑指offer23-二叉搜索树的后序遍历序列
    剑指offer24-二叉树中和为某一值的路径
    剑指offer-复杂链表的复制
    剑指offer-二叉搜索树与双向链表
    剑指offer-字符串的排序
    剑指offer-数组中出现次数超过一半的数字
    剑指offer-最小的k个数
    c++中参数加&与不加的区别
    第九届蓝桥杯(A组填空题)
    基于优先级的多道程序系统作业调度——基于优先级
  • 原文地址:https://www.cnblogs.com/lyz459/p/2890179.html
Copyright © 2020-2023  润新知