Android 对许多文本使用外部字体

Android 对许多文本使用外部字体,android,textview,Android,Textview,大家好,我是安卓系统的新手,我想问一下如何使用一种字体来显示我使用过的许多文本视图 final String DosisPath = "fonts/Dosis-Bold.ttf"; final Typeface Dosis_Bold = Typeface.createFromAsset(getAssets(), DosisPath); TextView txtCancle = (TextView) findViewById(R.id.cancle); txtCan

大家好,我是安卓系统的新手,我想问一下如何使用一种字体来显示我使用过的许多文本视图

    final String DosisPath = "fonts/Dosis-Bold.ttf";
    final Typeface Dosis_Bold = Typeface.createFromAsset(getAssets(), DosisPath);
    TextView txtCancle = (TextView) findViewById(R.id.cancle);
    txtCancle.setTypeface(Dosis_Bold);
它的工作很好,但我尝试为另一个TextView制作相同的字体,但不是这样工作的

 final String DosisPath = "fonts/Dosis-Bold.ttf";
    final Typeface Dosis_Bold = Typeface.createFromAsset(getAssets(), DosisPath);
    TextView txtCancle = (TextView) findViewById(R.id.cancle);
    txtCancle.setTypeface(Dosis_Bold);
    EditText ETCode  = (EditText)findViewById(R.id.secET);
    ETCode.setTypeface(Dosis_Bold);

如果这是一个错误,我已经做了告诉我,如果有另一种方法,使告诉我太感谢

你应该这样做

创建一个类

public class TextViewContent extends TextView {

    public TextViewContent(Context context) {
        super(context);
        setCustomFont(context);
    }

    public TextViewContent(Context context, AttributeSet attrs) {
        super(context, attrs);
        setCustomFont(context);
    }

    public TextViewContent(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

        if (isInEditMode()) {
            return;
        }
        setCustomFont(context);

    }

    private void setCustomFont(Context ctx) {
        setTypeface(Typeface.createFromAsset(ctx.getAssets(),
                "Champagne_Limousines.ttf"));
    }
}
在布局文件中

<com.hardik.test.widget.TextViewContent
            style="@style/TextMedium"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dip"
            android:layout_marginTop="5dip"
            android:gravity="center"
            android:text="@string/tag_line" />

这将以所选字体显示textview。对于EditText,您可以使用相同的方法扩展EditText类,而rest则是相同的