Android系统默认支持三种字体,分别为:“sans”,“serif”,“monospace”。
android.graphic.typeface
字体类:
本类的常量静态定义,首先为字体类型(typeface)名称
字体类型(typeface) | 含义 |
---|---|
Typeface DEFAULT | 默认正常字体对象 |
Typeface DEFAULT_BOLD | 默认的字体对象,注意:这实际上不可能是粗体的,这取决于字体设置。 由getStyle()来确定 |
Typeface MONOSPACE | monospace 字体风格 |
Typeface SANS_SERIF | sans serif字体风格 |
Typeface | SERIFserif字体风格 |
字体风格(style) | 含义 |
BOLD | 加粗 |
BOLD_ITALIC | 粗斜体 |
ITALIC | 斜体 |
NORMAL | 正常 |
设置TextView的字体可以通过TextView中的setTypeface方法来指定一个Typeface对象,因为Android的字体类
比较简单,我们列出所有成员方法:
static Typeface create(Typeface family, int style)
//静态方法,参数一为字体类型这里是Typeface的静态定义,如宋体,参数二风格,如粗体,斜体static Typeface createFromAsset(AssetManager mgr, String path)
//静态方法,参数一为AssetManager对象,主要用于从APK的assets文件夹中取出字体,参数二为相对于Android工程下的assets文件夹中的外挂字体文件的路径。static Typeface createFromFile(File path)
//静态方法,从文件系统构造一个字体,这里参数可以是sdcard中的某个字体文件static Typeface createFromFile(String path)
//静态方法,从指定路径中构造字体static Typeface defaultFromStyle(int style)
//静态方法,返回默认的字体风格int getStyle()
//获取当前字体风格final boolean isBold()
//判断当前是否为粗体final boolean isItalic()
//判断当前风格是否为斜体
代码时间到了:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout linearlayout = (LinearLayout) findViewById(R.id.llayout);
for(int i=0;i<21;i++){
TextView textView = new TextView(this);
TextPaint paint = textView.getPaint();
textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
String str;
Typeface typeface;
switch (i) {
case 0:
str="hello_world-----default";
typeface=Typeface.DEFAULT;
// typeface=Typeface.create(Typeface.DEFAULT, Typeface.NORMAL);
break;
case 1:
str="hello_world-----DEFAULT_BOLD";
typeface=Typeface.DEFAULT_BOLD;
//必须要用paint设置Typeface.DEFAULT_BOLD才起作用
paint.setTypeface(Typeface.DEFAULT_BOLD);
// typeface=Typeface.create(Typeface.DEFAULT_BOLD, Typeface.NORMAL);
break;
case 2:
str="hello_world-----MONOSPACE";
typeface=Typeface.MONOSPACE;
// typeface=Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL);
break;
case 3:
str="hello_world-----SANS_SERIF";
typeface=Typeface.SANS_SERIF;
// typeface=Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL);
break;
case 4:
str="hello_world-----SERIF";
typeface=Typeface.create(Typeface.SERIF, Typeface.NORMAL);
break;
case 5:
str="hello_world-----Action_Man_Bold_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Action-Man/Action_Man_Bold_Italic.ttf");
break;
case 6:
str="hello_world-----Action_Man_Bold";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Action-Man/Action_Man_Bold.ttf");
break;
case 7:
str="hello_world-----Action_Man_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Action-Man/Action_Man_Italic.ttf");
break;
case 8:
str="hello_world-----Action_Man";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Action-Man/Action_Man.ttf");
break;
case 9:
str="hello_world-----SF_Arch_Rival_Bold_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/arch_rival/SF_Arch_Rival_Bold_Italic.ttf");
break;
case 10:
str="hello_world-----SF_Arch_Rival_Bold";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/arch_rival/SF_Arch_Rival_Bold.ttf");
break;
case 11:
str="hello_world-----SF_Arch_Rival_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/arch_rival/SF_Arch_Rival_Italic.ttf");
break;
case 12:
str="hello_world-----SF_Arch_Rival";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/arch_rival/SF_Arch_Rival.ttf");
break;
case 13:
str="hello_world-----JUICE_Bold_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Juice/JUICE_Bold_Italic.ttf");
break;
case 14:
str="hello_world-----JUICE_Bold";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Juice/JUICE_Bold.ttf");
break;
case 15:
str="hello_world-----JUICE_Italic";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Juice/JUICE_Italic.ttf");
break;
case 16:
str="hello_world-----JUICE_Regular";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/Juice/JUICE_Regular.ttf");
break;
case 17:
str="hello_world-----Ubuntu-B";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/ubuntu/Ubuntu-B.ttf");
break;
case 18:
str="hello_world-----Ubuntu-BI";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/ubuntu/Ubuntu-BI.ttf");
break;
case 19:
str="hello_world-----Ubuntu-R";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/ubuntu/Ubuntu-R.ttf");
break;
case 20:
str="hello_world-----Ubuntu-RI";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"fonts/ubuntu/Ubuntu-RI.ttf");
break;
case 21:
str="hello_world-----MONACO";
// 获取字体并设置画笔字体
typeface = Typeface.createFromAsset(getAssets(),
"MONACO.ttf");
break;
default:
str="hello_world-----default";
typeface=Typeface.create(Typeface.DEFAULT, Typeface.NORMAL);
break;
}
textView.setText(str);
textView.setTypeface(typeface);
linearlayout.addView(textView);
}
}
}
引用:
Android字体 - Embedded Girl - 博客频道 - CSDN.NET
Android字体设置及Roboto字体使用方法Android脚本之家
Typeface-Helper首页、文档和下载 - 自定义字体 - 开源中国社区
Android Typeface Helper自定义字体库_51CTO下载中心_IT技术资料免费下载
8.3.15 Paint API之——Typeface(字型) | 菜鸟教程