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

时间:2014-08-25 08:00:42

标签: android xml layout custom-font

我使用下面的方法来获得自定义字体。现在,每当我必须用其他字体替换它时,我必须在代码中的任何地方更改路径。有没有办法在一个地方概括路径?在string.xml中使用它将无法正常工作。

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

提前致谢

1 个答案:

答案 0 :(得分:1)

为项目添加帮助程序类,例如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);
  

在string.xml中使用它不会起作用。

您也可以在res/values/strings.xml

中定义它
<string name="font_path_omnesreg">fonts/omnesreg.ttf</string>

使用如下:

Typeface buttonfont = Typeface.createFromAsset(getAssets(), getString(R.string.font_path_omnesreg));

希望这有帮助。