在我的Android应用程序中,我想要更改所有文本的字体。我知道如何使用asset更改textview,button,spinner等的字体。但是我想用简单的方法更改整个应用程序的字体?任何帮助都会很明显
答案 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)
答案 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)在您的应用程序中使用上述方法设置字体。