Android 控件设置字体字体设置
这里是以TextView为例,其他显示文字的控件通用
Android提供的字体—–Typeface
(1)常用的字体类型名称:
Typeface.DEFAULT //常规字体类型
Typeface.DEFAULT_BOLD //黑体字体类型
Typeface.MONOSPACE //等宽字体类型
Typeface.SERIF //衬线字体类型
Typeface.SANS_SERIF //无衬线体字体类型
(2)常用的字体风格名称:
Typeface.BOLD //粗体
Typeface.BOLD_ITALIC //粗斜体
Typeface.ITALIC //斜体
Typeface.NORMAL //常规
(3)在xml文件中引用字体:
使用android:typeFace来设置:
android:typeface=”sans”
(4)在java文件中引用Android自带字体—–create
有两种创建字体的方式:
1)
Typeface create (Typeface family,
int style)
family为(1)中常用的字体类型;
style为(2)常用的字体风格
eg1:
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD);
p.setTypeface( font );
2)
Typeface create (String familyName,
int style)
familyName 为(1)中常用的字体名称;
style为(2)常用的字体风格
eg2:
String familyName = “宋体”;
Typeface font = Typeface.create(familyName,Typeface.BOLD);
p.setTypeface(font);
3)如果依然使用默认字体,仅仅改变字体风格
Typeface mTypeface = Typeface.defaultFromStyle(Typeface.ITALIC);
(5)在java文件中引用非Android自带字体
非安卓自带字体,我们需要自己去下载或是有的公司会自定义字体。但是个人建议,如果不是整个应用要使用某个字体而是某个字要使用某个字体,最好不要使用专门的字体。【下载字体后将xxx.ttf文件添加到项目中,如果有中文需要重命名】
1)将.ttf字体库拷贝到Assets文件夹的引用方法
//从assert中获取有资源,获得app的assert,采用getAserts(),通过给出在assert/下面的相对路径。
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/HanYi.ttf");
//title是之间定义的控件
title.setTypeface(face);
2)将.ttf字体库拷贝到SD卡上可以通过createFromFile(String path)和createFromFile(File path)
//在实际使用中,字体库可能存在于SD卡上,可以采用createFromFile()来替代createFromAsset。
String path = "/hpdata/fonts/hwapu-microhei+diy.ttf";
File file = new File(path);
if (file.exists()) {
Typeface mTypeface = Typeface.createFromFile(file);
}
//或者使用createFromFile(String path)
try {
Typeface mTypeface = Typeface.createFromFile("/hpdata/fonts/hwapu-microhei+diy.ttf");
} catch (Exception e) {
e.printStackTrace();
}