Android 字体
1==============
// 自定义字体 custom = new TextView(this); //xx.ttf located at assets/fonts/ typeface = Typeface.createFromAsset(getAssets(),"fonts/xx.ttf"); custom.setTypeface(typeface);
.自定义字体 1.android Typeface使用TTF字体文件设置字体
我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体。 第一步,在assets目录下新建fonts目录,把ttf字体文件放到这。 第二步,程序中调用: AssetManager mgr=getAssets();//得到AssetManager Typeface tf=Typeface.createFromAsset(mgr, "fonts/ttf.ttf");//根据路径得到Typeface tv.setTypeface(tf);//设置字体
2.在xml文件中使用android:textStyle=”bold” 可以将英文设置成粗体, 但是不能将中文设置成粗体, 将中文设置成粗体的方法是: TextView tv = (TextView)findViewById(R.id.TextView01); tv.getPaint().setFakeBoldText(true);//中文仿“粗体”--使用TextPaint的仿“粗体”设置setFakeBoldText为true。
参考: http://hi.baidu.com/spare_h/blog/item/490fa14d24325ce0d62afc34.html http://hi.baidu.com/spare_h/blog/item/a8a20818cfde325c42a9ad49.html
xml 中 android:fontFamily 的用法
From android 4.1 / 4.2, the following Roboto font families are available:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) in combination with
android:textStyle="normal|bold|italic" this 12 variants are possible:
Regular Italic Bold Bold-italic Light Light-italic Thin Thin-italic Condensed regular Condensed italic Condensed bold Condensed bold-italic
android:fontFamily 与 android:typeface 相同 Android内建的字体有: normal sans serif monospace
详见:TextView | Android Developers http://developer.android.com/reference/android/widget/TextView.html#attr_android%3atypeface
How to change fontFamily of TextView in Android - Stack Overflow http://stackoverflow.com/questions/12128331/how-to-change-fontfamily-of-textview-in-android
Android System Fonts(/system/fonts): AndroidClock.ttf AndroidClock_Highlight.ttf AndroidClock_Solid.ttf AndroidEmoji.ttf Clockopia.ttf DroidNaskh-Regular.ttf DroidNaskhUI-Regular.ttf DroidSans-Bold.ttf DroidSans.ttf DroidSansArmenian.ttf DroidSansEthiopic-Regular.ttf DroidSansFallback.ttf DroidSansGeorgian.ttf DroidSansHebrew-Bold.ttf DroidSansHebrew-Regular.ttf DroidSansMono.ttf DroidSerif-Bold.ttf DroidSerif-BoldItalic.ttf DroidSerif-Italic.ttf DroidSerif-Regular.ttf MTLmr3m.ttf Roboto-Bold.ttf Roboto-BoldItalic.ttf Roboto-Italic.ttf Roboto-Light.ttf Roboto-LightItalic.ttf Roboto-Regular.ttf Roboto-Thin.ttf Roboto-ThinItalic.ttf RobotoCondensed-Bold.ttf RobotoCondensed-BoldItalic.ttf RobotoCondensed-Italic.ttf RobotoCondensed-Regular.ttf
2 =====================
有时候我们需要在游戏或应用中使用指定的字体,这些字体在每部手机中不一定要.我们可以将ttf文件添加到应用中,项目的结构图如下:

图中p5.ttf是我们新增的字体文件.
以下代码是如何调用与使用字体的.本代码是 [ RB打地鼠 ]的代码片段.
[color=rgb(102, 102, 102)]public void onDraw(Canvas canvas){
Context context = getContext();
// 字体
Typeface typeface = Typeface.createFromAsset(context.getAssets(),"fonts/p5.ttf");
typefacePaint = new Paint();
typefacePaint.setTypeface(typeface); // 设置Paint的字体
typefacePaint.setAntiAlias(true);
typefacePaint.setTextSize(px2pxByHVGA(context, 18)); // 根据不同分辨率设置字体大小
canvas.drawText("Score : 10000" ,100,100,typefacePaint); // 画Canvas时,使用设置好字体的Paint
}
public static float px2pxByHVGA(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return ((pxValue + 0.5f) * scale + 0.5f);
}[/color]
浙公网安备 33010602011771号