如何在接口类中初始化TypeFace

时间:2014-02-17 05:09:57

标签: android interface android-typeface

所以我有这个界面:

public interface Utils{
    static final Typeface FONT = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");;
}

我在getAssets()中出错,它说方法getAssets()未定义类型Utils 为什么会这样?请帮助谢谢:)

1 个答案:

答案 0 :(得分:6)

您的Utils班级没有名为getAssets()的方法。我假设您要使用Android Context类中的那个。这意味着您需要有一个Context对象来呼叫getAssets()。如果没有关于您的确切应用程序设计的更多详细信息,我将无法再为您提供帮助。

一种可能的解决方案是创建一个Activity子类,您的所有其他活动都会扩展。您还需要遵守活动生命周期:

public abstract FontActivity extends Activity {

    private Typeface font;

    @Override
    public onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        font = Typeface.createFromAsset(getAssets(), "fonts/font.ttf");
    }

}

现在扩展FontActivity而不是Activity