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]

 

 

 

posted @ 2016-01-28 05:22  crazy_machine  阅读(289)  评论(0)    收藏  举报