Android 使用自定义字体
来源:互联网 发布:java 开发平台 开源 编辑:程序博客网 时间:2024/05/16 11:48
要在其他平台实现自定义字体可谓是相当的麻烦,但是在Android平台就很简单了。
首先将自定义字体放到“assets”下面被实例化之后再使用,字体文件如下图所示。
在程序中通过如下方式实例化自定义字体:
1
Typeface.createFromAsset(getContext().getAssets(),
"fonts/samplefont.ttf"
);
下面是Android默认字体和自定义字体的绘制效果:
源代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package
com.yarin.android.Typefaces;
import
android.app.Activity;
import
android.content.Context;
import
android.graphics.Canvas;
import
android.graphics.Color;
import
android.graphics.Paint;
import
android.graphics.Typeface;
import
android.os.Bundle;
import
android.view.View;
public
class
Typefaces
extends
Activity
{
/** Called when the activity is first created. */
@Override
public
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(
new
SampleView(
this
));
}
private
static
class
SampleView
extends
View
{
private
Paint mPaint =
new
Paint(Paint.ANTI_ALIAS_FLAG);
private
Typeface mFace;
public
SampleView(Context context)
{
super
(context);
//实例化自定义字体
mFace = Typeface.createFromAsset(getContext().getAssets(),
"fonts/samplefont.ttf"
);
//设置字体大小
mPaint.setTextSize(
32
);
}
@Override
protected
void
onDraw(Canvas canvas)
{
canvas.drawColor(Color.WHITE);
//绘制默认字体
mPaint.setTypeface(
null
);
canvas.drawText(
"Default:abcdefg"
,
10
,
100
, mPaint);
//绘制自定义字体
mPaint.setTypeface(mFace);
canvas.drawText(
"Custom:abcdefg"
,
10
,
200
, mPaint);
}
}
}
好了,就这么简单就实现了自定义字体。
下面是两个非常有用的方法,在这里备份一下:
1
2
3
4
//消除锯齿
paint.setFlags(Paint.ANTI_ALIAS_FLAG)
//取得字符串宽度
paint.measureText()
0 0
- Android 使用自定义字体
- Android 使用自定义字体
- Android 使用自定义字体
- android使用自定义字体
- Android 使用自定义字体
- android使用自定义字体
- Android 使用自定义字体
- Android使用自定义字体
- Android使用自定义字体
- Android如何使用自定义字体
- Android开发使用自定义字体
- Android全局使用自定义字体
- Android应用使用自定义字体
- Android教程之如何使用自定义字体
- Android中使用自定义的字体
- 在ANDROID中使用自定义字体
- Android教程之如何使用自定义字体
- Android中使用自定义的字体
- Asp.net MVC 2 中解决页面提交数据并发问题
- NSString.h翻译
- Unity3D脚本 #pragma strict是什么
- 遍历方法将数组中的内容放到另外一个数组
- libevent专题1-Libevent使用例子,从简单到复杂
- Android 使用自定义字体
- 整数分隔
- GRE阅读首尾句重要性
- Sphinx-doc编写文档
- delphi2010发送邮件—中文显示为乱码解决
- 查看jquery绑定的事件函数
- NSSet.h翻译
- JAVA异常处理机制
- Cross compiling coreutils and generate the manpages