Android 编程下字库的使用及注意事项

2016-02-19 10:34 2 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的Android 编程下字库的使用及注意事项教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

在安卓操作系统下对于 TextView 字体的支持非常有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,如果在没有指定字体的情况下,系统缺省会使用 "Sans" 作为文本显示的字体。但这三种字体只支持英文,也就是说只要你显示的文字是中文,无论你选择这三种字体中的哪一种,显示效果都是一样的。为此,谷歌又提供了另外一种字体的支持方式:字库。在 Android 2.2 版本中,安卓对字库的支持是比较有限的,从 Android 2.3.3 版本开始,安卓系统已经能够支持大部分的字库。这意味着你在 SDK 版本为 Android 2.2 的平台下写的使用字库的代码只有在 Android 2.3.3 系统及其更的高版本中才能生效;如果你将代码运行在 Android 2.2 的系统上,你将不会看到自己所期望的效果,取而代之的是一片空白。

下面来看一下代码实现过程,在代码实现实现之前,我们先来看下不同字库的显示效果,下图中第一张图:SIMKAI.TTF 简体字-楷体-常规、第二张图:MSYH.TTF 简体字-微软雅黑-常规。


代码如下:

package cn.sunzn.fonts;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView tv_title;
private TextView tv_author;
private TextView tv_line1;
private TextView tv_line2;
private TextView tv_line3;
private TextView tv_line4;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 在 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);
tv_author = (TextView) findViewById(R.id.tv_author);
tv_author.setTypeface(face);
tv_line1 = (TextView) findViewById(R.id.tv_line1);
tv_line1.setTypeface(face);
tv_line2 = (TextView) findViewById(R.id.tv_line2);
tv_line2.setTypeface(face);
tv_line3 = (TextView) findViewById(R.id.tv_line3);
tv_line3.setTypeface(face);
tv_line4 = (TextView) findViewById(R.id.tv_line4);
tv_line4.setTypeface(face);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

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

原因有以下几点
•字库文件的大小:因为字库的尺寸少则几兆,多则几十兆,文件打包的时候对 *.ttf 格式的文件压缩率很低,所以会无形中增大 APP 的体积。

•运行环境的考虑:如果你的应用面向的是高版本的运行环境,可以考虑使用这种方法,如果用户的运行环境是 Android 2.2 需要放弃该方法。

•应用风格的考虑:如果你的应用既面向高版本运行环境,并且你的应用中统一使用指定的字体,可以考虑使用该方法;若是单单为了应用中的某几个字的显示效果就使用字库,则会得不偿失。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1595110.html

延伸阅读
乙肝小三阳能治愈吗 治疗方法及注意事项 乙肝小三阳是日常生活中比较常见的一种疾病,我国很多人都患有乙肝小三阳,那么就会有人问乙肝小三阳能治愈吗?其实治疗乙肝小三阳的方法也是有许多的,可以通过食疗,可以通过药物等等,今天图老师小编就为大家详细的介绍一下乙肝小三阳治疗方法。 乙肝小三阳能治愈吗 ...
标签: 饥荒
《饥荒》注意事项及心得 对新手来说《饥荒》是个难度有点大的游戏,在对游戏不是很了解的情况下,游戏初期很容易饿死或者因为黑夜没有火源而掉血死亡,下面是游戏的心得,新手玩家可以参考一下。 注意事项及心得 1.游戏开始后请迅速在周围收集这几样东西:草,树枝,石头,花朵,浆果或者胡萝卜。 2. 制成斧头之后多砍一些树,松果...
标签: 瑜伽
激光祛斑注意事项 激光祛斑后多久恢复呢?会不会影响正常的生活和工作呢?整形专家告诉我们要想有一个好的恢复情况,缩短恢复时间就要注意激光祛斑注意事项。那么激光祛斑有哪些注意事项呢? 【激光祛斑专家揭秘激光祛斑注意事项1】 激光祛斑前要了解手术禁忌进行面部手术前不要化妆,保持面部干干净净。 【激光祛斑专家...
女婴尿布使用注意事项 女婴不要穿开裆裤,可减少感染的机会。如果使用尿布,也不要把尿布紧兜在臀部,要留有一定空间。 日常护理 1.女婴尤其要注意保持外阴清洁干燥,患外阴炎要及时治疗。 2.对于阴道流出的少量血液和分泌物,可用消毒纱布或棉签轻轻拭去,但不能局部贴敷料或敷药tulaoshi,这样反而会引起...
标签: 养生 健康
刮痧疗法深受广大群众的喜爱,方法简单,疗效显著,操作也不是那么繁琐,但是有些禁忌和使用范围在刮痧前还是要注意一下的,下面向大家介绍些刮痧的注意事项,让大家刮出真健康。  刮痧疗法的适应范围  刮痧疗法适用于内外妇儿各科疾病,应用范围比较广泛。治疗的主要病证有:感冒咳嗽、体虚易感、自汗盗汗、发热中暑、头晕头痛...

经验教程

363

收藏

6
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部