所谓无图无真相,先看效果图:
Java代码如下:
package yc.android.fonts;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;
public class Y_fonts extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Typeface fontFace = Typeface.createFromAsset(getAssets(),
"fonts/STXINGKA.TTF");
//字体文件必须是true type font的格式(ttf);//当使用外部字体却又发现字体没有变化的时候(以 Droid Sans代替),通常是因为//这个字体android没有支持,而非你的程序发生了错误
TextView text = (TextView) findViewById(R.id.ttf);
text.setTypeface(fontFace);
}
}
PS:
我使用的字体是华文行楷
由于Android系统对字体文件的支持问题,该字体文件2.3.3版本以上有效,2.2版本不支持。
注意:
使用其他字库,都会消耗程序的空间,这是要非常注意的。而且这些字库有时并不能完全提供你所需要的文字。
举个例子,省略方式。当文字太多的时候,可以通过省略号省略后面的内容,省略号是使用“…”作为一个字体,可通过android:ellipsize属性进行设置。如果我们需要使用省略功能,需要确保字体具有省略号。此外,为了保证长度的一直,Android会进行填充处理,除了将一个字符更换为省略符合外,后面的字符将更换为一个特殊的Unicode字符,‘ZERO
WIDTH NO-BREAK SPACE’
(U+FEFF)。这个字符并占用任何可视的位置,但是保障了string具有同样的长度。不是所有的字体都支持这个特殊的字符,可能会引发一些乱码现象。