博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android中改变字体
阅读量:5142 次
发布时间:2019-06-13

本文共 1194 字,大约阅读时间需要 3 分钟。

废话不多说直接上思路和代码。

1.在Assets中创建一个fonts文件夹并将字体文件放入该文件夹中。

2.代码对textview操作。

textview.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "你Assets中的字体文件"));

以上代码就可以实现自定义字体的实现。

 

字体文件不可用的原因和解决办法。

1.Assets文件大小限制。

Android Asset Packaging Tool(aapt)使用这个工具可打包所有数据 Image XML文件 任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aapt使用后缀来决定哪个资源需要压缩,aapt源码定义一些不需要压缩的文件后缀。

/* these formats are already compressed, or don't compress well */

static const char* kNoCompressExt[] = {
    ".jpg", ".jpeg", ".png", ".gif",
    ".wav", ".mp2", ".mp3", ".ogg", ".aac",
    ".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
    ".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
    ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
    ".amr", ".awb", ".wma", ".wmv"

};

在Android 2.3以前的任何压缩的资源的原始大小超过1M将不能从APK中读出,如果你使用AssetManager 或 Resources classes方法来获取InputStream,将抛出java.io.IOException的异常如下     DEBUG/asset(1123): Data exceeds UNCOMPRESS_DATA_MAX (20078432 vs 1048576);

可以看到如果需要打包数据库文件过大就需要注意了。

2.解决方法如下:

1.将你的资源文件后缀改成上面列出的后缀。

2.在命令行上使用-0参数来指定不需要压缩的文件后缀。当你使用Eclipse内的ADT目前还不知道有什么方法可以传递-0参数给aapt。
3.将你的资源文件分割成UNCOMPRESS_DATA_MAX(1M)以下的文件.

 

小弟把字体自定义和Assets文件大小限制放在一起了,如有抄袭,敬请见谅。

注明:QQ技术交流群:108614806   感兴趣的加一下。

 

 

转载于:https://www.cnblogs.com/sybz/archive/2011/10/21/2774584.html

你可能感兴趣的文章
ssh2整合中的一些问题
查看>>
hibernate Expression详解
查看>>
LeetCode #303. Range Sum Query
查看>>
oracle 自增序列实现 可作为主键
查看>>
Android viewpager切换到最后一页时,跳转至其他activity
查看>>
开启GD拓展
查看>>
JQUERY 大于
查看>>
ZooKeeper做独立server执行(上)
查看>>
《经济地理与企业兴衰》学习笔记
查看>>
正确 C# 未来的期望
查看>>
【UVA】434-Matty's Blocks
查看>>
五、宽度优先搜索(BFS)
查看>>
运行一个窗体直接最大化并把窗体右上角的最大化最小化置灰
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
WebForm——IIS服务器、开发方式和简单基础
查看>>
小实验3:实现haproxy的增、删、查
查看>>
Angular中ngModel的$render的详解
查看>>
读《格局》| 未到年纪的真理
查看>>
[转]《城南旧事》里的《送别》
查看>>