Android 如何在一个地方概括自定义字体路径,以便下次添加新字体时,我们只在一个地方更改

Android 如何在一个地方概括自定义字体路径,以便下次添加新字体时,我们只在一个地方更改,android,xml,layout,custom-font,Android,Xml,Layout,Custom Font,我使用下面的方法来定制字体。现在,每当我必须用其他字体替换它时,我必须在代码中的任何地方更改路径。有没有办法在一个地方概括路径?在string.xml中使用它是行不通的 Typeface buttonfont = Typeface.createFromAsset(this.getAssets(), "fonts/omnesreg.ttf"); button.setTypeface(buttonfont); 提前感谢向项目中添加一个助手类,例如,Utils.java,并将字体路径定义为公共变量

我使用下面的方法来定制字体。现在,每当我必须用其他字体替换它时,我必须在代码中的任何地方更改路径。有没有办法在一个地方概括路径?在string.xml中使用它是行不通的

Typeface buttonfont = Typeface.createFromAsset(this.getAssets(), "fonts/omnesreg.ttf");
button.setTypeface(buttonfont);

提前感谢

向项目中添加一个助手类,例如,
Utils.java
,并将字体路径定义为公共变量

Utils.java:

public static final String FONT_OMNESREG = "fonts/omnesreg.ttf";
然后在项目的其他地方,从Utils.java引用它。例如,在MainActivity.java中,您可以如下引用它:

Typeface buttonfont = Typeface.createFromAsset(getAssets(), Utils.FONT_OMNESREG);
Typeface buttonfont = Typeface.createFromAsset(getAssets(), getString(R.string.font_path_omnesreg));
在string.xml中使用它是行不通的

Typeface buttonfont = Typeface.createFromAsset(this.getAssets(), "fonts/omnesreg.ttf");
button.setTypeface(buttonfont);
您也可以在
res/values/strings.xml

<string name="font_path_omnesreg">fonts/omnesreg.ttf</string>

希望这有帮助。

定义一个
公共静态最终字符串FONT\u PATH=“FONT/omnesreg.ttf”某个地方,并在其他地方使用它?同样,我必须在每个类中进行更改…任何更通用的方式,只要在一个文件中进行更改,它就会反映到所有地方。作为“font/omnesreg.ttf”,我不能输入R.string.fontname