如何创建可重用的<风格/>具有自定义字体的资源?

时间:2012-02-23 18:23:26

标签: android

我知道如何以编程方式执行此操作:

    TextView txt = (TextView) findViewById(R.id.custom_font);
    Typeface font = Typeface.createFromAsset(getAssets(), "Chantelli_Antiqua.ttf");
    txt.setTypeface(font);

但是,作为一种可以继承和扩展的风格,人们如何做到这一点呢?我只是想声明一个TextView有一个共同的<风格/>标签

< TextView />有一个名为“typeFace”的属性,但有效值仅为“normal”,“sans”,“serif”和“monospace”

http://developer.android.com/reference/android/widget/TextView.html#attr_android:typeface

2 个答案:

答案 0 :(得分:1)

据我所知,你无法做到这一点。您无法在via xml中加载字体并将其转换为样式。但是,我当然希望有人能够在这方面证明我的错,因为我希望有这个可用。

答案 1 :(得分:1)

这不是答案,但我想出了一个非常悲伤的解决方法。

扩展TextView组件类

在子类的构造函数中,触发代码

TextView txt = (TextView) findViewById(R.id.custom_font);
Typeface font = Typeface.createFromAsset(context.getAssets(), "Chantelli_Antiqua.ttf");
txt.setTypeface(font);

...呸