android – 通过xml设置自定义字体

如何设置一个字体,其ttf通过xml驻留在我的资源文件夹中?
我知道how to do that programmatically但你怎么能通过xml做到这一点?提前致谢.

解决方法:

您无法直接使用XML,但您可以扩展TextView并设置默认字体.

package com.nannu;

import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;

public class NanTV extends TextView{

    private Context c;
    public NanTV(Context c) {
        super(c);
        this.c = c;
        Typeface tfs = Typeface.createFromAsset(c.getAssets(),
                "font/yourfont.ttf");
        setTypeface(tfs);

    }
    public NanTV(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        this.c = context;
        Typeface tfs = Typeface.createFromAsset(c.getAssets(),
                "font/yourfont.ttf");
        setTypeface(tfs);
        // TODO Auto-generated constructor stub
    }

    public NanTV(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.c = context;
        Typeface tfs = Typeface.createFromAsset(c.getAssets(),
                "font/yourfont.ttf");
        setTypeface(tfs);

    }


}

在您的布局中使用新的TextView

<com.nannu.NanTV
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" 

        />

我是根据我的热门答案https://*.com/a/11239305/1166537发布的

上一篇:React Native:Android和iOS上的自定义字体呈现方式不同


下一篇:互联网大佬齐呼吁“分享经济” 券商看好云计算、大数据概念