为整个android应用程序在资源中设置自己的字体

为整个android应用程序在资源中设置自己的字体,android,Android,我只想改变我的整个应用程序的字体。我只想在我的资源中有3种字体,当用户单击我的设置时,它会更改整个字体。 我找到了一些例子,但我不明白怎么做。 我刚开始使用android。您应该使用library,这是在android中更改字体最简单的方法。该库看起来很不错,但如果您不知道如何使用它,或者您认为使用它太困难,您可以按照以下步骤操作: 在项目中,创建一个名为“assets”的文件夹,其级别与res、src等相同 在该文件夹内创建另一个名为“字体”的文件夹,并在其中复制您需要使用的字体…在我的情况下

我只想改变我的整个应用程序的字体。我只想在我的资源中有3种字体,当用户单击我的设置时,它会更改整个字体。 我找到了一些例子,但我不明白怎么做。
我刚开始使用android。

您应该使用library,这是在android中更改字体最简单的方法。

该库看起来很不错,但如果您不知道如何使用它,或者您认为使用它太困难,您可以按照以下步骤操作:

在项目中,创建一个名为“assets”的文件夹,其级别与res、src等相同

在该文件夹内创建另一个名为“字体”的文件夹,并在其中复制您需要使用的字体…在我的情况下。。。Robot-Regular.ttf

我认为最常用的文件类型是*.ttf

好的,我不确定您是否知道创建一个从class应用程序扩展而来的类(如果不知道,请在internet上查看它,因为它非常重要)

在项目的应用程序类中,包括:

private static Typeface primaryFont;

/**
 * @return primary font Typeface
 * 
 * By keeping only one instance of the typeface, the app performance is increased massively!
 */
public static Typeface getPrimaryFontTypeface() {
    if(primaryFont == null){
        primaryFont = Typeface.createFromAsset(CameraManager.getContext().getAssets(), Constants.PRIMARY_FONT_PATH);
    }

    return primaryFont;
}
在您希望使用此自定义字体的任何位置之后,您都需要将字体设置为一个文本视图,例如:

TextView email = (TextView) root.findViewById(R.id.email_tv);
email.setTypeface(getApp().getPrimaryFontTypeface());
如果不希望每次使用此自定义字体时都编写这些代码行,则需要创建一个CustomTextView。要创建一个自定义视图,您可以在其中修改该视图的正常行为,您需要创建另一个有关stackoverflow的问题


希望能有所帮助。如果是,请给我的答案打分。谢谢!;)

但是似乎很难一个人做这件事。您必须逐个设置所有视图。但是,通过书法,您可以直接在XML中完成declaration@mhs你能告诉我为什么看起来很难吗?我想确保开箱即用的解决方案非常简单。如果您决定使用自定义视图。你可以问我,但在stackoverflow的另一个问题中…顺便说一句,谢谢!当然可以,我会问的。但是有什么样的样品要dl吗?我不能再问了:-((((((((((((((((((()))你能给我的答案打分吗?我真的很想问,但我已经达到了我的问题极限…):-(可能以后再问大冶。)