Android改变整个应用程序的字体

时间:2014-03-18 05:07:45

标签: android

在我的Android应用程序中,我想要更改所有文本的字体。我知道如何使用asset更改textview,button,spinner等的字体。但是我想用简单的方法更改整个应用程序的字体?任何帮助都会很明显

3 个答案:

答案 0 :(得分:2)

实现字体的两种方式:

1)您必须创建自己的textview或按钮视图类。

2)您可以使用commonmethod:

//use Singleton Design Pattern for better performance
public class CommonMethod{
  public static Typeface getFontTypeface()
    {
        Typeface mTypeface = null;
        if(mTypeface == null)
        {
            mTypeface = Typeface.createFromAsset(mContext.getAssets(),"Helvetica_.ttf");
        }
        return mTypeface;
    }
public static void SetTypeface(Activity activity, TextView... edt) {

        for (int i = 0; i < edt.length; i++) {
            edt[i].setTypeface(getFontTypeface());
        }
    }
}

并在您的所有活动中设置此功能:

CommonMethod.SetTypeface(getActivity(), txtfragedit, txtYoutube,
                txtFacebook, txtTwitter);

我希望它有用。

如果您的应用程序已完成,那么第二种方法更可取。如果您现在开始构建您的应用程序,那么第一种方法更可取。

答案 1 :(得分:0)

请参阅this可能有助于您更改字体.....

另请参阅this链接以更改整个应用程序的字体

答案 2 :(得分:-1)

按照以下提到的步骤: -

1)将您的字体放入资产文件夹中,并在strings.xml中为相应的字体创建一个字符串,如:

<string name="type_face_regular">AvenirLTCom-Light.ttf</string>   

2)创建一个类让我们将其称为Utility.java。

3)在里面写下如下方法: -

public Typeface getFontTypeface()
{
    Typeface mTypeface = null;
    if(mTypeface == null)
    {
        mTypeface = Typeface.createFromAsset(mContext.getAssets(), "font/" + mContext.getResources().getString(R.string.type_face_regular));
    }
    return mTypeface;
}

4)在您的应用程序中使用上述方法设置字体。