通过googling发现的最好的方式是 – 说如果你想在TextView中使用,那么我们必须扩展Textview,并设置字体,以后我们可以使用我们的定制Textview在我们的XML。我将在下面展示扩展的TextView
package com.vins.test;
import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;
public class MyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyTextView(Context context) {
super(context);
init();
}
private void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"your_font.ttf");
setTypeface(tf);
}
}
我们调用init()在每个构造函数中设置字体。
后来我们在main.xml中使用这个,如下所示。
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="This is a text view with the font u had set in MyTextView class "
android:textSize="30dip"
android:textColor="#ff0000"
>
更新:
注意pandre提到的4.0之前的Android的内存泄漏。